Browse Source

refactor: simplify collection.toArray()

On recent VMs, collection.toArray(new T[0]) is faster than
collection.toArray(new T[collection.size()]). Since it is also more
readable, it should now be the preferred way of collection to array
conversion.

https://shipilev.net/blog/2016/arrays-wisdom-ancients/

Change-Id: I80388532fb4b2b0663ee1fe8baa94f5df55c8442
Signed-off-by: Michael Keppler <Michael.Keppler@gmx.de>
stable-5.1
Michael Keppler 6 years ago committed by Jonathan Nieder
parent
commit
2fc00af44e
  1. 2
      org.eclipse.jgit.http.server/src/org/eclipse/jgit/http/server/SmartServiceInfoRefs.java
  2. 2
      org.eclipse.jgit.http.server/src/org/eclipse/jgit/http/server/glue/ServletBinderImpl.java
  3. 2
      org.eclipse.jgit.junit.http/src/org/eclipse/jgit/junit/http/AppServer.java
  4. 2
      org.eclipse.jgit.lfs/src/org/eclipse/jgit/lfs/LfsPrePushHook.java
  5. 2
      org.eclipse.jgit.pgm.test/src/org/eclipse/jgit/pgm/CLIGitCommand.java
  6. 12
      org.eclipse.jgit.pgm.test/tst/org/eclipse/jgit/pgm/ArchiveTest.java
  7. 2
      org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/CommandCatalog.java
  8. 2
      org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/Describe.java
  9. 2
      org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/Main.java
  10. 2
      org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/Remote.java
  11. 2
      org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/opt/CmdLineParser.java
  12. 4
      org.eclipse.jgit.test/src/org/eclipse/jgit/events/ChangeRecorder.java
  13. 6
      org.eclipse.jgit.test/tst/org/eclipse/jgit/api/ReflogCommandTest.java
  14. 4
      org.eclipse.jgit.test/tst/org/eclipse/jgit/treewalk/filter/PathFilterGroupTest.java
  15. 2
      org.eclipse.jgit/src/org/eclipse/jgit/dircache/DirCacheCheckout.java
  16. 4
      org.eclipse.jgit/src/org/eclipse/jgit/internal/ketch/KetchLeader.java
  17. 2
      org.eclipse.jgit/src/org/eclipse/jgit/internal/ketch/LocalReplica.java
  18. 4
      org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/LocalCachedPack.java
  19. 4
      org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/ObjectDirectory.java
  20. 2
      org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/pack/BaseSearch.java
  21. 2
      org.eclipse.jgit/src/org/eclipse/jgit/lib/BaseRepositoryBuilder.java
  22. 2
      org.eclipse.jgit/src/org/eclipse/jgit/revplot/PlotWalk.java
  23. 2
      org.eclipse.jgit/src/org/eclipse/jgit/transport/CredentialsProvider.java
  24. 2
      org.eclipse.jgit/src/org/eclipse/jgit/transport/OpenSshConfig.java
  25. 2
      org.eclipse.jgit/src/org/eclipse/jgit/util/FS_Win32.java

2
org.eclipse.jgit.http.server/src/org/eclipse/jgit/http/server/SmartServiceInfoRefs.java

@ -77,7 +77,7 @@ abstract class SmartServiceInfoRefs implements Filter {
SmartServiceInfoRefs(String service, List<Filter> filters) { SmartServiceInfoRefs(String service, List<Filter> filters) {
this.svc = service; this.svc = service;
this.filters = filters.toArray(new Filter[filters.size()]); this.filters = filters.toArray(new Filter[0]);
} }
/** {@inheritDoc} */ /** {@inheritDoc} */

2
org.eclipse.jgit.http.server/src/org/eclipse/jgit/http/server/glue/ServletBinderImpl.java

@ -98,7 +98,7 @@ abstract class ServletBinderImpl implements ServletBinder {
* @return the configured filters; zero-length array if none. * @return the configured filters; zero-length array if none.
*/ */
protected Filter[] getFilters() { protected Filter[] getFilters() {
return filters.toArray(new Filter[filters.size()]); return filters.toArray(new Filter[0]);
} }
/** @return the pipeline that matches and executes this chain. */ /** @return the pipeline that matches and executes this chain. */

2
org.eclipse.jgit.junit.http/src/org/eclipse/jgit/junit/http/AppServer.java

@ -349,7 +349,7 @@ public class AppServer {
sec.setAuthenticator(authType); sec.setAuthenticator(authType);
sec.setLoginService(users); sec.setLoginService(users);
sec.setConstraintMappings( sec.setConstraintMappings(
mappings.toArray(new ConstraintMapping[mappings.size()])); mappings.toArray(new ConstraintMapping[0]));
sec.setHandler(ctx); sec.setHandler(ctx);
contexts.removeHandler(ctx); contexts.removeHandler(ctx);

2
org.eclipse.jgit.lfs/src/org/eclipse/jgit/lfs/LfsPrePushHook.java

@ -201,7 +201,7 @@ public class LfsPrePushHook extends PrePushHook {
private Map<String, LfsPointer> requestBatchUpload(HttpConnection api, private Map<String, LfsPointer> requestBatchUpload(HttpConnection api,
Set<LfsPointer> toPush) throws IOException { Set<LfsPointer> toPush) throws IOException {
LfsPointer[] res = toPush.toArray(new LfsPointer[toPush.size()]); LfsPointer[] res = toPush.toArray(new LfsPointer[0]);
Map<String, LfsPointer> oidStr2ptr = new HashMap<>(); Map<String, LfsPointer> oidStr2ptr = new HashMap<>();
for (LfsPointer p : res) { for (LfsPointer p : res) {
oidStr2ptr.put(p.getOid().name(), p); oidStr2ptr.put(p.getOid().name(), p);

2
org.eclipse.jgit.pgm.test/src/org/eclipse/jgit/pgm/CLIGitCommand.java

@ -230,7 +230,7 @@ public class CLIGitCommand extends Main {
} }
if (r.length() > 0) if (r.length() > 0)
list.add(r.toString()); list.add(r.toString());
return list.toArray(new String[list.size()]); return list.toArray(new String[0]);
} }
public static class Result { public static class Result {

12
org.eclipse.jgit.pgm.test/tst/org/eclipse/jgit/pgm/ArchiveTest.java

@ -544,7 +544,7 @@ public class ArchiveTest extends CLIRepositoryTestCase {
byte[] result = CLIGitCommand.executeRaw( byte[] result = CLIGitCommand.executeRaw(
"git archive --format=zip HEAD", db).outBytes(); "git archive --format=zip HEAD", db).outBytes();
assertArrayEquals(l.toArray(new String[l.size()]), assertArrayEquals(l.toArray(new String[0]),
listZipEntries(result)); listZipEntries(result));
} }
@ -564,7 +564,7 @@ public class ArchiveTest extends CLIRepositoryTestCase {
byte[] result = CLIGitCommand.executeRaw( byte[] result = CLIGitCommand.executeRaw(
"git archive --format=tar HEAD", db).outBytes(); "git archive --format=tar HEAD", db).outBytes();
assertArrayEquals(l.toArray(new String[l.size()]), assertArrayEquals(l.toArray(new String[0]),
listTarEntries(result)); listTarEntries(result));
} }
@ -697,7 +697,7 @@ public class ArchiveTest extends CLIRepositoryTestCase {
while ((e = in.getNextEntry()) != null) while ((e = in.getNextEntry()) != null)
l.add(e.getName()); l.add(e.getName());
} }
return l.toArray(new String[l.size()]); return l.toArray(new String[0]);
} }
private static Future<Object> writeAsync(OutputStream stream, byte[] data) { private static Future<Object> writeAsync(OutputStream stream, byte[] data) {
@ -730,7 +730,7 @@ public class ArchiveTest extends CLIRepositoryTestCase {
while ((line = reader.readLine()) != null) while ((line = reader.readLine()) != null)
l.add(line); l.add(line);
return l.toArray(new String[l.size()]); return l.toArray(new String[0]);
} finally { } finally {
writing.get(); writing.get();
proc.destroy(); proc.destroy();
@ -754,7 +754,7 @@ public class ArchiveTest extends CLIRepositoryTestCase {
String line; String line;
while ((line = reader.readLine()) != null) while ((line = reader.readLine()) != null)
l.add(line); l.add(line);
return l.toArray(new String[l.size()]); return l.toArray(new String[0]);
} }
// not found // not found
@ -774,7 +774,7 @@ public class ArchiveTest extends CLIRepositoryTestCase {
while ((line = reader.readLine()) != null) while ((line = reader.readLine()) != null)
l.add(line); l.add(line);
return l.toArray(new String[l.size()]); return l.toArray(new String[0]);
} finally { } finally {
writing.get(); writing.get();
proc.destroy(); proc.destroy();

2
org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/CommandCatalog.java

@ -114,7 +114,7 @@ public class CommandCatalog {
} }
private static CommandRef[] toSortedArray(Collection<CommandRef> c) { private static CommandRef[] toSortedArray(Collection<CommandRef> c) {
final CommandRef[] r = c.toArray(new CommandRef[c.size()]); final CommandRef[] r = c.toArray(new CommandRef[0]);
Arrays.sort(r, new Comparator<CommandRef>() { Arrays.sort(r, new Comparator<CommandRef>() {
@Override @Override
public int compare(CommandRef o1, CommandRef o2) { public int compare(CommandRef o1, CommandRef o2) {

2
org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/Describe.java

@ -73,7 +73,7 @@ class Describe extends TextBuiltin {
if (tree != null) if (tree != null)
cmd.setTarget(tree); cmd.setTarget(tree);
cmd.setLong(longDesc); cmd.setLong(longDesc);
cmd.setMatch(patterns.toArray(new String[patterns.size()])); cmd.setMatch(patterns.toArray(new String[0]));
String result = null; String result = null;
try { try {
result = cmd.call(); result = cmd.call();

2
org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/Main.java

@ -285,7 +285,7 @@ public class Main {
final TextBuiltin cmd = subcommand; final TextBuiltin cmd = subcommand;
init(cmd); init(cmd);
try { try {
cmd.execute(arguments.toArray(new String[arguments.size()])); cmd.execute(arguments.toArray(new String[0]));
} finally { } finally {
if (cmd.outw != null) { if (cmd.outw != null) {
cmd.outw.flush(); cmd.outw.flush();

2
org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/Remote.java

@ -130,7 +130,7 @@ class Remote extends TextBuiltin {
fetchArgs.add(name); fetchArgs.add(name);
} }
fetch.execute(fetchArgs.toArray(new String[fetchArgs.size()])); fetch.execute(fetchArgs.toArray(new String[0]));
// flush the streams // flush the streams
fetch.outw.flush(); fetch.outw.flush();

2
org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/opt/CmdLineParser.java

@ -177,7 +177,7 @@ public class CmdLineParser extends org.kohsuke.args4j.CmdLineParser {
} }
try { try {
super.parseArgument(tmp.toArray(new String[tmp.size()])); super.parseArgument(tmp.toArray(new String[0]));
} catch (Die e) { } catch (Die e) {
if (!seenHelp) { if (!seenHelp) {
throw e; throw e;

4
org.eclipse.jgit.test/src/org/eclipse/jgit/events/ChangeRecorder.java

@ -74,11 +74,11 @@ public class ChangeRecorder implements WorkingTreeModifiedListener {
} }
private String[] getModified() { private String[] getModified() {
return modified.toArray(new String[modified.size()]); return modified.toArray(new String[0]);
} }
private String[] getDeleted() { private String[] getDeleted() {
return deleted.toArray(new String[deleted.size()]); return deleted.toArray(new String[0]);
} }
private void reset() { private void reset() {

6
org.eclipse.jgit.test/tst/org/eclipse/jgit/api/ReflogCommandTest.java

@ -89,7 +89,7 @@ public class ReflogCommandTest extends RepositoryTestCase {
Collection<ReflogEntry> reflog = git.reflog().call(); Collection<ReflogEntry> reflog = git.reflog().call();
assertNotNull(reflog); assertNotNull(reflog);
assertEquals(3, reflog.size()); assertEquals(3, reflog.size());
ReflogEntry[] reflogs = reflog.toArray(new ReflogEntry[reflog.size()]); ReflogEntry[] reflogs = reflog.toArray(new ReflogEntry[0]);
assertEquals(reflogs[2].getComment(), assertEquals(reflogs[2].getComment(),
"commit (initial): Initial commit"); "commit (initial): Initial commit");
assertEquals(reflogs[2].getNewId(), commit1.getId()); assertEquals(reflogs[2].getNewId(), commit1.getId());
@ -114,7 +114,7 @@ public class ReflogCommandTest extends RepositoryTestCase {
.setRef(Constants.R_HEADS + "b1").call(); .setRef(Constants.R_HEADS + "b1").call();
assertNotNull(reflog); assertNotNull(reflog);
assertEquals(2, reflog.size()); assertEquals(2, reflog.size());
ReflogEntry[] reflogs = reflog.toArray(new ReflogEntry[reflog.size()]); ReflogEntry[] reflogs = reflog.toArray(new ReflogEntry[0]);
assertEquals(reflogs[0].getComment(), "commit: Removed file"); assertEquals(reflogs[0].getComment(), "commit: Removed file");
assertEquals(reflogs[0].getNewId(), commit2.getId()); assertEquals(reflogs[0].getNewId(), commit2.getId());
assertEquals(reflogs[0].getOldId(), commit1.getId()); assertEquals(reflogs[0].getOldId(), commit1.getId());
@ -136,7 +136,7 @@ public class ReflogCommandTest extends RepositoryTestCase {
Collection<ReflogEntry> reflog = git.reflog().call(); Collection<ReflogEntry> reflog = git.reflog().call();
assertNotNull(reflog); assertNotNull(reflog);
assertEquals(4, reflog.size()); assertEquals(4, reflog.size());
ReflogEntry[] reflogs = reflog.toArray(new ReflogEntry[reflog.size()]); ReflogEntry[] reflogs = reflog.toArray(new ReflogEntry[0]);
assertEquals(reflogs[3].getComment(), assertEquals(reflogs[3].getComment(),
"commit (initial): Initial commit"); "commit (initial): Initial commit");
assertEquals(reflogs[3].getNewId(), commit1.getId()); assertEquals(reflogs[3].getNewId(), commit1.getId());

4
org.eclipse.jgit.test/tst/org/eclipse/jgit/treewalk/filter/PathFilterGroupTest.java

@ -231,8 +231,8 @@ public class PathFilterGroupTest {
} }
} }
String[] e = expect.toArray(new String[expect.size()]); String[] e = expect.toArray(new String[0]);
String[] a = actual.toArray(new String[actual.size()]); String[] a = actual.toArray(new String[0]);
Arrays.sort(e); Arrays.sort(e);
Arrays.sort(a); Arrays.sort(a);
assertArrayEquals(e, a); assertArrayEquals(e, a);

2
org.eclipse.jgit/src/org/eclipse/jgit/dircache/DirCacheCheckout.java vendored

@ -513,7 +513,7 @@ public class DirCacheCheckout {
if (!conflicts.isEmpty()) { if (!conflicts.isEmpty()) {
if (failOnConflict) if (failOnConflict)
throw new CheckoutConflictException(conflicts.toArray(new String[conflicts.size()])); throw new CheckoutConflictException(conflicts.toArray(new String[0]));
else else
cleanUpConflicts(); cleanUpConflicts();
} }

4
org.eclipse.jgit/src/org/eclipse/jgit/internal/ketch/KetchLeader.java

@ -274,8 +274,8 @@ public abstract class KetchLeader {
lock.lock(); lock.lock();
try { try {
voters = v.toArray(new KetchReplica[v.size()]); voters = v.toArray(new KetchReplica[0]);
followers = f.toArray(new KetchReplica[f.size()]); followers = f.toArray(new KetchReplica[0]);
self = me; self = me;
} finally { } finally {
lock.unlock(); lock.unlock();

2
org.eclipse.jgit/src/org/eclipse/jgit/internal/ketch/LocalReplica.java

@ -209,7 +209,7 @@ public class LocalReplica extends KetchReplica {
checkFailed(failed, accepted); checkFailed(failed, accepted);
checkFailed(failed, committed); checkFailed(failed, committed);
if (!failed.isEmpty()) { if (!failed.isEmpty()) {
String[] arr = failed.toArray(new String[failed.size()]); String[] arr = failed.toArray(new String[0]);
req.setRefs(refdb.exactRef(arr)); req.setRefs(refdb.exactRef(arr));
} }
} }

4
org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/LocalCachedPack.java

@ -62,13 +62,13 @@ class LocalCachedPack extends CachedPack {
LocalCachedPack(ObjectDirectory odb, List<String> packNames) { LocalCachedPack(ObjectDirectory odb, List<String> packNames) {
this.odb = odb; this.odb = odb;
this.packNames = packNames.toArray(new String[packNames.size()]); this.packNames = packNames.toArray(new String[0]);
} }
LocalCachedPack(List<PackFile> packs) { LocalCachedPack(List<PackFile> packs) {
odb = null; odb = null;
packNames = null; packNames = null;
this.packs = packs.toArray(new PackFile[packs.size()]); this.packs = packs.toArray(new PackFile[0]);
} }
/** {@inheritDoc} */ /** {@inheritDoc} */

4
org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/ObjectDirectory.java

@ -938,7 +938,7 @@ public class ObjectDirectory extends FileObjectDatabase {
if (list.isEmpty()) if (list.isEmpty())
return new PackList(snapshot, NO_PACKS.packs); return new PackList(snapshot, NO_PACKS.packs);
final PackFile[] r = list.toArray(new PackFile[list.size()]); final PackFile[] r = list.toArray(new PackFile[0]);
Arrays.sort(r, PackFile.SORT); Arrays.sort(r, PackFile.SORT);
return new PackList(snapshot, r); return new PackList(snapshot, r);
} }
@ -1030,7 +1030,7 @@ public class ObjectDirectory extends FileObjectDatabase {
l.add(openAlternate(line)); l.add(openAlternate(line));
} }
} }
return l.toArray(new AlternateHandle[l.size()]); return l.toArray(new AlternateHandle[0]);
} }
private static BufferedReader open(File f) private static BufferedReader open(File f)

2
org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/pack/BaseSearch.java

@ -91,7 +91,7 @@ class BaseSearch {
List<ObjectToPack> edges, ObjectReader or) { List<ObjectToPack> edges, ObjectReader or) {
progress = countingMonitor; progress = countingMonitor;
reader = or; reader = or;
baseTrees = bases.toArray(new ObjectId[bases.size()]); baseTrees = bases.toArray(new ObjectId[0]);
objectsMap = objects; objectsMap = objects;
edgeObjects = edges; edgeObjects = edges;

2
org.eclipse.jgit/src/org/eclipse/jgit/lib/BaseRepositoryBuilder.java

@ -283,7 +283,7 @@ public class BaseRepositoryBuilder<B extends BaseRepositoryBuilder, R extends Re
final List<File> alts = alternateObjectDirectories; final List<File> alts = alternateObjectDirectories;
if (alts == null) if (alts == null)
return null; return null;
return alts.toArray(new File[alts.size()]); return alts.toArray(new File[0]);
} }
/** /**

2
org.eclipse.jgit/src/org/eclipse/jgit/revplot/PlotWalk.java

@ -177,7 +177,7 @@ public class PlotWalk extends RevWalk {
if (list == null) { if (list == null) {
return PlotCommit.NO_REFS; return PlotCommit.NO_REFS;
} else { } else {
Ref[] tags = list.toArray(new Ref[list.size()]); Ref[] tags = list.toArray(new Ref[0]);
Arrays.sort(tags, new PlotRefComparator()); Arrays.sort(tags, new PlotRefComparator());
return tags; return tags;
} }

2
org.eclipse.jgit/src/org/eclipse/jgit/transport/CredentialsProvider.java

@ -155,7 +155,7 @@ public abstract class CredentialsProvider {
*/ */
public boolean get(URIish uri, List<CredentialItem> items) public boolean get(URIish uri, List<CredentialItem> items)
throws UnsupportedCredentialItem { throws UnsupportedCredentialItem {
return get(uri, items.toArray(new CredentialItem[items.size()])); return get(uri, items.toArray(new CredentialItem[0]));
} }
/** /**

2
org.eclipse.jgit/src/org/eclipse/jgit/transport/OpenSshConfig.java

@ -524,7 +524,7 @@ public class OpenSshConfig implements ConfigRepository {
if (values == null || values.isEmpty()) { if (values == null || values.isEmpty()) {
return new String[0]; return new String[0];
} }
return values.toArray(new String[values.size()]); return values.toArray(new String[0]);
} }
public void setValue(String key, String value) { public void setValue(String key, String value) {

2
org.eclipse.jgit/src/org/eclipse/jgit/util/FS_Win32.java

@ -169,7 +169,7 @@ public class FS_Win32 extends FS {
if (result.isEmpty()) { if (result.isEmpty()) {
return NO_ENTRIES; return NO_ENTRIES;
} }
return result.toArray(new Entry[result.size()]); return result.toArray(new Entry[0]);
} }
/** {@inheritDoc} */ /** {@inheritDoc} */

Loading…
Cancel
Save