Skip to content

Commit bcb3604

Browse files
DaGeRePascalSchumacher
authored andcommitted
Performance Enhancement: Call toArray with Zero Array Size (closes #65)
toArray should, at least since Java 7, be used with new T[0] instead of size, since it is "faster, safer, and contractually cleaner" (https://shipilev.net/blog/2016/arrays-wisdom-ancients/#_conclusion)
1 parent 401eae6 commit bcb3604

8 files changed

Lines changed: 10 additions & 10 deletions

File tree

src/main/java/org/apache/commons/io/FilenameUtils.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1494,7 +1494,7 @@ static String[] splitOnTokens(final String text) {
14941494
list.add(buffer.toString());
14951495
}
14961496

1497-
return list.toArray( new String[ list.size() ] );
1497+
return list.toArray( new String[ 0 ] );
14981498
}
14991499

15001500
/**
@@ -1577,7 +1577,7 @@ private static boolean isIPv6Address(final String inet6Address) {
15771577
} else if (inet6Address.startsWith("::") && !octetList.isEmpty()) {
15781578
octetList.remove(0);
15791579
}
1580-
octets = octetList.toArray(new String[octetList.size()]);
1580+
octets = octetList.toArray(new String[0]);
15811581
}
15821582
if (octets.length > IPV6_MAX_HEX_GROUPS) {
15831583
return false;

src/main/java/org/apache/commons/io/comparator/CompositeFileComparator.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ public CompositeFileComparator(final Iterable<Comparator<File>> delegates) {
7676
for (final Comparator<File> comparator : delegates) {
7777
list.add(comparator);
7878
}
79-
this.delegates = (Comparator<File>[]) list.toArray(new Comparator<?>[list.size()]); //2
79+
this.delegates = (Comparator<File>[]) list.toArray(new Comparator<?>[0]); //2
8080
}
8181
}
8282

src/main/java/org/apache/commons/io/filefilter/FileFilterUtils.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@ public static File[] filter(final IOFileFilter filter, final File... files) {
8989
acceptedFiles.add(file);
9090
}
9191
}
92-
return acceptedFiles.toArray(new File[acceptedFiles.size()]);
92+
return acceptedFiles.toArray(new File[0]);
9393
}
9494

9595
/**
@@ -120,7 +120,7 @@ public static File[] filter(final IOFileFilter filter, final File... files) {
120120
*/
121121
public static File[] filter(final IOFileFilter filter, final Iterable<File> files) {
122122
final List<File> acceptedFiles = filterList(filter, files);
123-
return acceptedFiles.toArray(new File[acceptedFiles.size()]);
123+
return acceptedFiles.toArray(new File[0]);
124124
}
125125

126126
/**

src/main/java/org/apache/commons/io/filefilter/NameFileFilter.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,7 @@ public NameFileFilter(final List<String> names, final IOCase caseSensitivity) {
126126
if (names == null) {
127127
throw new IllegalArgumentException("The list of names must not be null");
128128
}
129-
this.names = names.toArray(new String[names.size()]);
129+
this.names = names.toArray(new String[0]);
130130
this.caseSensitivity = caseSensitivity == null ? IOCase.SENSITIVE : caseSensitivity;
131131
}
132132

src/main/java/org/apache/commons/io/filefilter/PrefixFileFilter.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -134,7 +134,7 @@ public PrefixFileFilter(final List<String> prefixes, final IOCase caseSensitivit
134134
if (prefixes == null) {
135135
throw new IllegalArgumentException("The list of prefixes must not be null");
136136
}
137-
this.prefixes = prefixes.toArray(new String[prefixes.size()]);
137+
this.prefixes = prefixes.toArray(new String[0]);
138138
this.caseSensitivity = caseSensitivity == null ? IOCase.SENSITIVE : caseSensitivity;
139139
}
140140

src/main/java/org/apache/commons/io/filefilter/SuffixFileFilter.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -135,7 +135,7 @@ public SuffixFileFilter(final List<String> suffixes, final IOCase caseSensitivit
135135
if (suffixes == null) {
136136
throw new IllegalArgumentException("The list of suffixes must not be null");
137137
}
138-
this.suffixes = suffixes.toArray(new String[suffixes.size()]);
138+
this.suffixes = suffixes.toArray(new String[0]);
139139
this.caseSensitivity = caseSensitivity == null ? IOCase.SENSITIVE : caseSensitivity;
140140
}
141141

src/main/java/org/apache/commons/io/filefilter/WildcardFileFilter.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -134,7 +134,7 @@ public WildcardFileFilter(final List<String> wildcards, final IOCase caseSensiti
134134
if (wildcards == null) {
135135
throw new IllegalArgumentException("The wildcard list must not be null");
136136
}
137-
this.wildcards = wildcards.toArray(new String[wildcards.size()]);
137+
this.wildcards = wildcards.toArray(new String[0]);
138138
this.caseSensitivity = caseSensitivity == null ? IOCase.SENSITIVE : caseSensitivity;
139139
}
140140

src/main/java/org/apache/commons/io/filefilter/WildcardFilter.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,7 @@ public WildcardFilter(final List<String> wildcards) {
9393
if (wildcards == null) {
9494
throw new IllegalArgumentException("The wildcard list must not be null");
9595
}
96-
this.wildcards = wildcards.toArray(new String[wildcards.size()]);
96+
this.wildcards = wildcards.toArray(new String[0]);
9797
}
9898

9999
//-----------------------------------------------------------------------

0 commit comments

Comments
 (0)