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>
This commit is contained in:
parent
7058493fea
commit
2fc00af44e
|
@ -77,7 +77,7 @@ abstract class SmartServiceInfoRefs implements Filter {
|
|||
|
||||
SmartServiceInfoRefs(String service, List<Filter> filters) {
|
||||
this.svc = service;
|
||||
this.filters = filters.toArray(new Filter[filters.size()]);
|
||||
this.filters = filters.toArray(new Filter[0]);
|
||||
}
|
||||
|
||||
/** {@inheritDoc} */
|
||||
|
|
|
@ -98,7 +98,7 @@ protected HttpServlet getServlet() {
|
|||
* @return the configured filters; zero-length array if none.
|
||||
*/
|
||||
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. */
|
||||
|
|
|
@ -349,7 +349,7 @@ private void auth(ServletContextHandler ctx, Authenticator authType,
|
|||
sec.setAuthenticator(authType);
|
||||
sec.setLoginService(users);
|
||||
sec.setConstraintMappings(
|
||||
mappings.toArray(new ConstraintMapping[mappings.size()]));
|
||||
mappings.toArray(new ConstraintMapping[0]));
|
||||
sec.setHandler(ctx);
|
||||
|
||||
contexts.removeHandler(ctx);
|
||||
|
|
|
@ -201,7 +201,7 @@ private String remote() {
|
|||
|
||||
private Map<String, LfsPointer> requestBatchUpload(HttpConnection api,
|
||||
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<>();
|
||||
for (LfsPointer p : res) {
|
||||
oidStr2ptr.put(p.getOid().name(), p);
|
||||
|
|
|
@ -230,7 +230,7 @@ else if (r.length() > 0) {
|
|||
}
|
||||
if (r.length() > 0)
|
||||
list.add(r.toString());
|
||||
return list.toArray(new String[list.size()]);
|
||||
return list.toArray(new String[0]);
|
||||
}
|
||||
|
||||
public static class Result {
|
||||
|
|
|
@ -544,7 +544,7 @@ public void testArchiveWithLongFilename() throws Exception {
|
|||
|
||||
byte[] result = CLIGitCommand.executeRaw(
|
||||
"git archive --format=zip HEAD", db).outBytes();
|
||||
assertArrayEquals(l.toArray(new String[l.size()]),
|
||||
assertArrayEquals(l.toArray(new String[0]),
|
||||
listZipEntries(result));
|
||||
}
|
||||
|
||||
|
@ -564,7 +564,7 @@ public void testTarWithLongFilename() throws Exception {
|
|||
|
||||
byte[] result = CLIGitCommand.executeRaw(
|
||||
"git archive --format=tar HEAD", db).outBytes();
|
||||
assertArrayEquals(l.toArray(new String[l.size()]),
|
||||
assertArrayEquals(l.toArray(new String[0]),
|
||||
listTarEntries(result));
|
||||
}
|
||||
|
||||
|
@ -697,7 +697,7 @@ private static String[] listZipEntries(byte[] zipData) throws IOException {
|
|||
while ((e = in.getNextEntry()) != null)
|
||||
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) {
|
||||
|
@ -730,7 +730,7 @@ private String[] listTarEntries(byte[] tarData) throws Exception {
|
|||
while ((line = reader.readLine()) != null)
|
||||
l.add(line);
|
||||
|
||||
return l.toArray(new String[l.size()]);
|
||||
return l.toArray(new String[0]);
|
||||
} finally {
|
||||
writing.get();
|
||||
proc.destroy();
|
||||
|
@ -754,7 +754,7 @@ private static String[] zipEntryContent(byte[] zipData, String path)
|
|||
String line;
|
||||
while ((line = reader.readLine()) != null)
|
||||
l.add(line);
|
||||
return l.toArray(new String[l.size()]);
|
||||
return l.toArray(new String[0]);
|
||||
}
|
||||
|
||||
// not found
|
||||
|
@ -774,7 +774,7 @@ private String[] tarEntryContent(byte[] tarData, String path)
|
|||
while ((line = reader.readLine()) != null)
|
||||
l.add(line);
|
||||
|
||||
return l.toArray(new String[l.size()]);
|
||||
return l.toArray(new String[0]);
|
||||
} finally {
|
||||
writing.get();
|
||||
proc.destroy();
|
||||
|
|
|
@ -114,7 +114,7 @@ public static CommandRef[] common() {
|
|||
}
|
||||
|
||||
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>() {
|
||||
@Override
|
||||
public int compare(CommandRef o1, CommandRef o2) {
|
||||
|
|
|
@ -73,7 +73,7 @@ protected void run() throws Exception {
|
|||
if (tree != null)
|
||||
cmd.setTarget(tree);
|
||||
cmd.setLong(longDesc);
|
||||
cmd.setMatch(patterns.toArray(new String[patterns.size()]));
|
||||
cmd.setMatch(patterns.toArray(new String[0]));
|
||||
String result = null;
|
||||
try {
|
||||
result = cmd.call();
|
||||
|
|
|
@ -285,7 +285,7 @@ private void execute(String[] argv) throws Exception {
|
|||
final TextBuiltin cmd = subcommand;
|
||||
init(cmd);
|
||||
try {
|
||||
cmd.execute(arguments.toArray(new String[arguments.size()]));
|
||||
cmd.execute(arguments.toArray(new String[0]));
|
||||
} finally {
|
||||
if (cmd.outw != null) {
|
||||
cmd.outw.flush();
|
||||
|
|
|
@ -130,7 +130,7 @@ protected void run() throws Exception {
|
|||
fetchArgs.add(name);
|
||||
}
|
||||
|
||||
fetch.execute(fetchArgs.toArray(new String[fetchArgs.size()]));
|
||||
fetch.execute(fetchArgs.toArray(new String[0]));
|
||||
|
||||
// flush the streams
|
||||
fetch.outw.flush();
|
||||
|
|
|
@ -177,7 +177,7 @@ public void parseArgument(String... args) throws CmdLineException {
|
|||
}
|
||||
|
||||
try {
|
||||
super.parseArgument(tmp.toArray(new String[tmp.size()]));
|
||||
super.parseArgument(tmp.toArray(new String[0]));
|
||||
} catch (Die e) {
|
||||
if (!seenHelp) {
|
||||
throw e;
|
||||
|
|
|
@ -74,11 +74,11 @@ public void onWorkingTreeModified(WorkingTreeModifiedEvent event) {
|
|||
}
|
||||
|
||||
private String[] getModified() {
|
||||
return modified.toArray(new String[modified.size()]);
|
||||
return modified.toArray(new String[0]);
|
||||
}
|
||||
|
||||
private String[] getDeleted() {
|
||||
return deleted.toArray(new String[deleted.size()]);
|
||||
return deleted.toArray(new String[0]);
|
||||
}
|
||||
|
||||
private void reset() {
|
||||
|
|
|
@ -89,7 +89,7 @@ public void testHeadReflog() throws Exception {
|
|||
Collection<ReflogEntry> reflog = git.reflog().call();
|
||||
assertNotNull(reflog);
|
||||
assertEquals(3, reflog.size());
|
||||
ReflogEntry[] reflogs = reflog.toArray(new ReflogEntry[reflog.size()]);
|
||||
ReflogEntry[] reflogs = reflog.toArray(new ReflogEntry[0]);
|
||||
assertEquals(reflogs[2].getComment(),
|
||||
"commit (initial): Initial commit");
|
||||
assertEquals(reflogs[2].getNewId(), commit1.getId());
|
||||
|
@ -114,7 +114,7 @@ public void testBranchReflog() throws Exception {
|
|||
.setRef(Constants.R_HEADS + "b1").call();
|
||||
assertNotNull(reflog);
|
||||
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].getNewId(), commit2.getId());
|
||||
assertEquals(reflogs[0].getOldId(), commit1.getId());
|
||||
|
@ -136,7 +136,7 @@ public void testAmendReflog() throws Exception {
|
|||
Collection<ReflogEntry> reflog = git.reflog().call();
|
||||
assertNotNull(reflog);
|
||||
assertEquals(4, reflog.size());
|
||||
ReflogEntry[] reflogs = reflog.toArray(new ReflogEntry[reflog.size()]);
|
||||
ReflogEntry[] reflogs = reflog.toArray(new ReflogEntry[0]);
|
||||
assertEquals(reflogs[3].getComment(),
|
||||
"commit (initial): Initial commit");
|
||||
assertEquals(reflogs[3].getNewId(), commit1.getId());
|
||||
|
|
|
@ -231,8 +231,8 @@ private void assertMatches(Set<String> expect, TreeWalk tw)
|
|||
}
|
||||
}
|
||||
|
||||
String[] e = expect.toArray(new String[expect.size()]);
|
||||
String[] a = actual.toArray(new String[actual.size()]);
|
||||
String[] e = expect.toArray(new String[0]);
|
||||
String[] a = actual.toArray(new String[0]);
|
||||
Arrays.sort(e);
|
||||
Arrays.sort(a);
|
||||
assertArrayEquals(e, a);
|
||||
|
|
|
@ -513,7 +513,7 @@ private boolean doCheckout() throws CorruptObjectException, IOException,
|
|||
|
||||
if (!conflicts.isEmpty()) {
|
||||
if (failOnConflict)
|
||||
throw new CheckoutConflictException(conflicts.toArray(new String[conflicts.size()]));
|
||||
throw new CheckoutConflictException(conflicts.toArray(new String[0]));
|
||||
else
|
||||
cleanUpConflicts();
|
||||
}
|
||||
|
|
|
@ -274,8 +274,8 @@ public void setReplicas(Collection<KetchReplica> replicas) {
|
|||
|
||||
lock.lock();
|
||||
try {
|
||||
voters = v.toArray(new KetchReplica[v.size()]);
|
||||
followers = f.toArray(new KetchReplica[f.size()]);
|
||||
voters = v.toArray(new KetchReplica[0]);
|
||||
followers = f.toArray(new KetchReplica[0]);
|
||||
self = me;
|
||||
} finally {
|
||||
lock.unlock();
|
||||
|
|
|
@ -209,7 +209,7 @@ private void update(Repository git, ReplicaPushRequest req,
|
|||
checkFailed(failed, accepted);
|
||||
checkFailed(failed, committed);
|
||||
if (!failed.isEmpty()) {
|
||||
String[] arr = failed.toArray(new String[failed.size()]);
|
||||
String[] arr = failed.toArray(new String[0]);
|
||||
req.setRefs(refdb.exactRef(arr));
|
||||
}
|
||||
}
|
||||
|
|
|
@ -62,13 +62,13 @@ class LocalCachedPack extends CachedPack {
|
|||
|
||||
LocalCachedPack(ObjectDirectory odb, List<String> packNames) {
|
||||
this.odb = odb;
|
||||
this.packNames = packNames.toArray(new String[packNames.size()]);
|
||||
this.packNames = packNames.toArray(new String[0]);
|
||||
}
|
||||
|
||||
LocalCachedPack(List<PackFile> packs) {
|
||||
odb = null;
|
||||
packNames = null;
|
||||
this.packs = packs.toArray(new PackFile[packs.size()]);
|
||||
this.packs = packs.toArray(new PackFile[0]);
|
||||
}
|
||||
|
||||
/** {@inheritDoc} */
|
||||
|
|
|
@ -938,7 +938,7 @@ private PackList scanPacksImpl(PackList old) {
|
|||
if (list.isEmpty())
|
||||
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);
|
||||
return new PackList(snapshot, r);
|
||||
}
|
||||
|
@ -1030,7 +1030,7 @@ private AlternateHandle[] loadAlternates() throws IOException {
|
|||
l.add(openAlternate(line));
|
||||
}
|
||||
}
|
||||
return l.toArray(new AlternateHandle[l.size()]);
|
||||
return l.toArray(new AlternateHandle[0]);
|
||||
}
|
||||
|
||||
private static BufferedReader open(File f)
|
||||
|
|
|
@ -91,7 +91,7 @@ class BaseSearch {
|
|||
List<ObjectToPack> edges, ObjectReader or) {
|
||||
progress = countingMonitor;
|
||||
reader = or;
|
||||
baseTrees = bases.toArray(new ObjectId[bases.size()]);
|
||||
baseTrees = bases.toArray(new ObjectId[0]);
|
||||
objectsMap = objects;
|
||||
edgeObjects = edges;
|
||||
|
||||
|
|
|
@ -283,7 +283,7 @@ public File[] getAlternateObjectDirectories() {
|
|||
final List<File> alts = alternateObjectDirectories;
|
||||
if (alts == null)
|
||||
return null;
|
||||
return alts.toArray(new File[alts.size()]);
|
||||
return alts.toArray(new File[0]);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -177,7 +177,7 @@ private Ref[] getRefs(AnyObjectId commitId) {
|
|||
if (list == null) {
|
||||
return PlotCommit.NO_REFS;
|
||||
} else {
|
||||
Ref[] tags = list.toArray(new Ref[list.size()]);
|
||||
Ref[] tags = list.toArray(new Ref[0]);
|
||||
Arrays.sort(tags, new PlotRefComparator());
|
||||
return tags;
|
||||
}
|
||||
|
|
|
@ -155,7 +155,7 @@ public abstract boolean get(URIish uri, CredentialItem... items)
|
|||
*/
|
||||
public boolean get(URIish uri, List<CredentialItem> items)
|
||||
throws UnsupportedCredentialItem {
|
||||
return get(uri, items.toArray(new CredentialItem[items.size()]));
|
||||
return get(uri, items.toArray(new CredentialItem[0]));
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -524,7 +524,7 @@ public String[] getValues(String key) {
|
|||
if (values == null || values.isEmpty()) {
|
||||
return new String[0];
|
||||
}
|
||||
return values.toArray(new String[values.size()]);
|
||||
return values.toArray(new String[0]);
|
||||
}
|
||||
|
||||
public void setValue(String key, String value) {
|
||||
|
|
|
@ -169,7 +169,7 @@ public FileVisitResult visitFileFailed(Path file,
|
|||
if (result.isEmpty()) {
|
||||
return NO_ENTRIES;
|
||||
}
|
||||
return result.toArray(new Entry[result.size()]);
|
||||
return result.toArray(new Entry[0]);
|
||||
}
|
||||
|
||||
/** {@inheritDoc} */
|
||||
|
|
Loading…
Reference in New Issue