You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by ma...@apache.org on 2022/10/12 13:55:19 UTC
[tomcat] branch 9.0.x updated: Use List.toArray(new T[0]) rather than List.toArray(new T[size])
This is an automated email from the ASF dual-hosted git repository.
markt pushed a commit to branch 9.0.x
in repository https://gitbox.apache.org/repos/asf/tomcat.git
The following commit(s) were added to refs/heads/9.0.x by this push:
new c17bfe7d8f Use List.toArray(new T[0]) rather than List.toArray(new T[size])
c17bfe7d8f is described below
commit c17bfe7d8ff3b7fe489ae0e9782139f2d3264002
Author: Mark Thomas <ma...@apache.org>
AuthorDate: Wed Oct 12 14:54:44 2022 +0100
Use List.toArray(new T[0]) rather than List.toArray(new T[size])
Minor performance optimisation
---
.../catalina/core/ApplicationHttpRequest.java | 3 +--
java/org/apache/catalina/core/ContainerBase.java | 7 ++----
java/org/apache/catalina/core/StandardContext.java | 13 ++++-------
java/org/apache/catalina/core/StandardService.java | 4 +---
java/org/apache/catalina/core/StandardWrapper.java | 9 +++-----
.../catalina/deploy/NamingResourcesImpl.java | 26 +++++++---------------
.../apache/catalina/ha/tcp/SimpleTcpCluster.java | 9 +-------
java/org/apache/catalina/realm/JNDIRealm.java | 5 ++---
java/org/apache/catalina/realm/RealmBase.java | 4 +---
.../org/apache/catalina/startup/ContextConfig.java | 3 +--
.../catalina/tribes/membership/Membership.java | 3 +--
.../tribes/tipis/AbstractReplicatedMap.java | 4 +---
.../catalina/tribes/transport/PooledSender.java | 3 +--
java/org/apache/catalina/tribes/util/Arrays.java | 3 +--
java/org/apache/jasper/JspC.java | 3 +--
.../apache/jasper/compiler/ErrorDispatcher.java | 3 +--
.../apache/tomcat/util/modeler/ManagedBean.java | 8 ++-----
.../tomcat/util/net/openssl/OpenSSLEngine.java | 7 +-----
test/org/apache/catalina/session/TesterStore.java | 2 +-
.../tomcat/websocket/TestWsSubprotocols.java | 2 +-
.../compressionFilters/CompressionFilter.java | 3 +--
21 files changed, 36 insertions(+), 88 deletions(-)
diff --git a/java/org/apache/catalina/core/ApplicationHttpRequest.java b/java/org/apache/catalina/core/ApplicationHttpRequest.java
index e94bd6693d..f307e3e334 100644
--- a/java/org/apache/catalina/core/ApplicationHttpRequest.java
+++ b/java/org/apache/catalina/core/ApplicationHttpRequest.java
@@ -865,8 +865,7 @@ class ApplicationHttpRequest extends HttpServletRequestWrapper {
results.addAll(Arrays.asList(values2));
}
- String values[] = new String[results.size()];
- return results.toArray(values);
+ return results.toArray(new String[0]);
}
diff --git a/java/org/apache/catalina/core/ContainerBase.java b/java/org/apache/catalina/core/ContainerBase.java
index 2e3752f27c..f09038f5a3 100644
--- a/java/org/apache/catalina/core/ContainerBase.java
+++ b/java/org/apache/catalina/core/ContainerBase.java
@@ -777,8 +777,7 @@ public abstract class ContainerBase extends LifecycleMBeanBase implements Contai
@Override
public Container[] findChildren() {
synchronized (children) {
- Container results[] = new Container[children.size()];
- return children.values().toArray(results);
+ return children.values().toArray(new Container[0]);
}
}
@@ -790,9 +789,7 @@ public abstract class ContainerBase extends LifecycleMBeanBase implements Contai
*/
@Override
public ContainerListener[] findContainerListeners() {
- ContainerListener[] results =
- new ContainerListener[0];
- return listeners.toArray(results);
+ return listeners.toArray(new ContainerListener[0]);
}
diff --git a/java/org/apache/catalina/core/StandardContext.java b/java/org/apache/catalina/core/StandardContext.java
index 4d588cc8dd..0515e4e80d 100644
--- a/java/org/apache/catalina/core/StandardContext.java
+++ b/java/org/apache/catalina/core/StandardContext.java
@@ -3476,8 +3476,7 @@ public class StandardContext extends ContainerBase
@Override
public FilterDef[] findFilterDefs() {
synchronized (filterDefs) {
- FilterDef results[] = new FilterDef[filterDefs.size()];
- return filterDefs.values().toArray(results);
+ return filterDefs.values().toArray(new FilterDef[0]);
}
}
@@ -3511,9 +3510,7 @@ public class StandardContext extends ContainerBase
*/
public MessageDestination[] findMessageDestinations() {
synchronized (messageDestinations) {
- MessageDestination results[] =
- new MessageDestination[messageDestinations.size()];
- return messageDestinations.values().toArray(results);
+ return messageDestinations.values().toArray(new MessageDestination[0]);
}
}
@@ -3566,8 +3563,7 @@ public class StandardContext extends ContainerBase
@Override
public String[] findMimeMappings() {
synchronized (mimeMappings) {
- String results[] = new String[mimeMappings.size()];
- return mimeMappings.keySet().toArray(results);
+ return mimeMappings.keySet().toArray(new String[0]);
}
}
@@ -3671,8 +3667,7 @@ public class StandardContext extends ContainerBase
@Override
public String[] findServletMappings() {
synchronized (servletMappingsLock) {
- String results[] = new String[servletMappings.size()];
- return servletMappings.keySet().toArray(results);
+ return servletMappings.keySet().toArray(new String[0]);
}
}
diff --git a/java/org/apache/catalina/core/StandardService.java b/java/org/apache/catalina/core/StandardService.java
index bdeb13eb1c..15a7d89ac9 100644
--- a/java/org/apache/catalina/core/StandardService.java
+++ b/java/org/apache/catalina/core/StandardService.java
@@ -367,9 +367,7 @@ public class StandardService extends LifecycleMBeanBase implements Service {
@Override
public Executor[] findExecutors() {
synchronized (executors) {
- Executor[] arr = new Executor[executors.size()];
- executors.toArray(arr);
- return arr;
+ return executors.toArray(new Executor[0]);
}
}
diff --git a/java/org/apache/catalina/core/StandardWrapper.java b/java/org/apache/catalina/core/StandardWrapper.java
index 4a73bbe2c9..128cc2e6da 100644
--- a/java/org/apache/catalina/core/StandardWrapper.java
+++ b/java/org/apache/catalina/core/StandardWrapper.java
@@ -606,8 +606,7 @@ public class StandardWrapper extends ContainerBase
}
}
- String[] methodNames = new String[allow.size()];
- return allow.toArray(methodNames);
+ return allow.toArray(new String[0]);
}
@@ -914,8 +913,7 @@ public class StandardWrapper extends ContainerBase
parametersLock.readLock().lock();
try {
- String results[] = new String[parameters.size()];
- return parameters.keySet().toArray(results);
+ return parameters.keySet().toArray(new String[0]);
} finally {
parametersLock.readLock().unlock();
}
@@ -979,8 +977,7 @@ public class StandardWrapper extends ContainerBase
referencesLock.readLock().lock();
try {
- String results[] = new String[references.size()];
- return references.keySet().toArray(results);
+ return references.keySet().toArray(new String[0]);
} finally {
referencesLock.readLock().unlock();
}
diff --git a/java/org/apache/catalina/deploy/NamingResourcesImpl.java b/java/org/apache/catalina/deploy/NamingResourcesImpl.java
index 668fa508d7..45c38991bf 100644
--- a/java/org/apache/catalina/deploy/NamingResourcesImpl.java
+++ b/java/org/apache/catalina/deploy/NamingResourcesImpl.java
@@ -529,8 +529,7 @@ public class NamingResourcesImpl extends LifecycleMBeanBase
public ContextEjb[] findEjbs() {
synchronized (ejbs) {
- ContextEjb results[] = new ContextEjb[ejbs.size()];
- return ejbs.values().toArray(results);
+ return ejbs.values().toArray(new ContextEjb[0]);
}
}
@@ -559,8 +558,7 @@ public class NamingResourcesImpl extends LifecycleMBeanBase
public ContextEnvironment[] findEnvironments() {
synchronized (envs) {
- ContextEnvironment results[] = new ContextEnvironment[envs.size()];
- return envs.values().toArray(results);
+ return envs.values().toArray(new ContextEnvironment[0]);
}
}
@@ -588,8 +586,7 @@ public class NamingResourcesImpl extends LifecycleMBeanBase
public ContextLocalEjb[] findLocalEjbs() {
synchronized (localEjbs) {
- ContextLocalEjb results[] = new ContextLocalEjb[localEjbs.size()];
- return localEjbs.values().toArray(results);
+ return localEjbs.values().toArray(new ContextLocalEjb[0]);
}
}
@@ -617,9 +614,7 @@ public class NamingResourcesImpl extends LifecycleMBeanBase
public MessageDestinationRef[] findMessageDestinationRefs() {
synchronized (mdrs) {
- MessageDestinationRef results[] =
- new MessageDestinationRef[mdrs.size()];
- return mdrs.values().toArray(results);
+ return mdrs.values().toArray(new MessageDestinationRef[0]);
}
}
@@ -662,9 +657,7 @@ public class NamingResourcesImpl extends LifecycleMBeanBase
public ContextResourceLink[] findResourceLinks() {
synchronized (resourceLinks) {
- ContextResourceLink results[] =
- new ContextResourceLink[resourceLinks.size()];
- return resourceLinks.values().toArray(results);
+ return resourceLinks.values().toArray(new ContextResourceLink[0]);
}
}
@@ -677,8 +670,7 @@ public class NamingResourcesImpl extends LifecycleMBeanBase
public ContextResource[] findResources() {
synchronized (resources) {
- ContextResource results[] = new ContextResource[resources.size()];
- return resources.values().toArray(results);
+ return resources.values().toArray(new ContextResource[0]);
}
}
@@ -707,8 +699,7 @@ public class NamingResourcesImpl extends LifecycleMBeanBase
public ContextResourceEnvRef[] findResourceEnvRefs() {
synchronized (resourceEnvRefs) {
- ContextResourceEnvRef results[] = new ContextResourceEnvRef[resourceEnvRefs.size()];
- return resourceEnvRefs.values().toArray(results);
+ return resourceEnvRefs.values().toArray(new ContextResourceEnvRef[0]);
}
}
@@ -736,8 +727,7 @@ public class NamingResourcesImpl extends LifecycleMBeanBase
public ContextService[] findServices() {
synchronized (services) {
- ContextService results[] = new ContextService[services.size()];
- return services.values().toArray(results);
+ return services.values().toArray(new ContextService[0]);
}
}
diff --git a/java/org/apache/catalina/ha/tcp/SimpleTcpCluster.java b/java/org/apache/catalina/ha/tcp/SimpleTcpCluster.java
index 7832d7d846..83b27bddac 100644
--- a/java/org/apache/catalina/ha/tcp/SimpleTcpCluster.java
+++ b/java/org/apache/catalina/ha/tcp/SimpleTcpCluster.java
@@ -272,14 +272,7 @@ public class SimpleTcpCluster extends LifecycleMBeanBase
* @return the listener array
*/
public ClusterListener[] findClusterListeners() {
- if (clusterListeners.size() > 0) {
- ClusterListener[] listener = new ClusterListener[clusterListeners.size()];
- clusterListeners.toArray(listener);
- return listener;
- } else {
- return new ClusterListener[0];
- }
-
+ return clusterListeners.toArray(new ClusterListener[0]);
}
/**
diff --git a/java/org/apache/catalina/realm/JNDIRealm.java b/java/org/apache/catalina/realm/JNDIRealm.java
index 672ecf5553..f885be0f01 100644
--- a/java/org/apache/catalina/realm/JNDIRealm.java
+++ b/java/org/apache/catalina/realm/JNDIRealm.java
@@ -1581,8 +1581,7 @@ public class JNDIRealm extends RealmBase {
if (userRoleAttribute != null) {
list.add(userRoleAttribute);
}
- String[] attrIds = new String[list.size()];
- list.toArray(attrIds);
+ String[] attrIds = list.toArray(new String[0]);
// Use pattern or search for user entry
if (userPatternArray != null && curUserPattern >= 0) {
@@ -2907,7 +2906,7 @@ public class JNDIRealm extends RealmBase {
startingPoint = endParenLoc+1;
startParenLoc = userPatternString.indexOf('(', startingPoint);
}
- return pathList.toArray(new String[] {});
+ return pathList.toArray(new String[0]);
}
return null;
}
diff --git a/java/org/apache/catalina/realm/RealmBase.java b/java/org/apache/catalina/realm/RealmBase.java
index 86f493e223..a2f031076a 100644
--- a/java/org/apache/catalina/realm/RealmBase.java
+++ b/java/org/apache/catalina/realm/RealmBase.java
@@ -791,9 +791,7 @@ public abstract class RealmBase extends LifecycleMBeanBase implements Realm {
if(results == null || results.size() == 0) {
return null;
}
- SecurityConstraint [] array = new SecurityConstraint[results.size()];
- results.toArray(array);
- return array;
+ return results.toArray(new SecurityConstraint [0]);
}
diff --git a/java/org/apache/catalina/startup/ContextConfig.java b/java/org/apache/catalina/startup/ContextConfig.java
index c1f85bd8e7..0738148d6e 100644
--- a/java/org/apache/catalina/startup/ContextConfig.java
+++ b/java/org/apache/catalina/startup/ContextConfig.java
@@ -2845,8 +2845,7 @@ public class ContextConfig implements LifecycleListener {
} else {
values.add(ev.stringifyValue());
}
- String[] result = new String[values.size()];
- return values.toArray(result);
+ return values.toArray(new String[0]);
}
protected Map<String,String> processAnnotationWebInitParams(
diff --git a/java/org/apache/catalina/tribes/membership/Membership.java b/java/org/apache/catalina/tribes/membership/Membership.java
index 6b0f0e6b62..c4520ac8de 100644
--- a/java/org/apache/catalina/tribes/membership/Membership.java
+++ b/java/org/apache/catalina/tribes/membership/Membership.java
@@ -237,8 +237,7 @@ public class Membership implements Cloneable {
}
if (list != null) {
- Member[] result = new Member[list.size()];
- list.toArray(result);
+ Member[] result = list.toArray(new Member[0]);
for (Member member : result) {
removeMember(member);
}
diff --git a/java/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java b/java/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java
index 3fded0e1d3..d040a7262d 100644
--- a/java/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java
+++ b/java/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java
@@ -418,9 +418,7 @@ public abstract class AbstractReplicatedMap<K,V>
//------------------------------------------------------------------------------
public Member[] getMapMembers(HashMap<Member, Long> members) {
synchronized (members) {
- Member[] result = new Member[members.size()];
- members.keySet().toArray(result);
- return result;
+ return members.keySet().toArray(new Member[0]);
}
}
public Member[] getMapMembers() {
diff --git a/java/org/apache/catalina/tribes/transport/PooledSender.java b/java/org/apache/catalina/tribes/transport/PooledSender.java
index 59afa9c6d3..70ea59476e 100644
--- a/java/org/apache/catalina/tribes/transport/PooledSender.java
+++ b/java/org/apache/catalina/tribes/transport/PooledSender.java
@@ -149,8 +149,7 @@ public abstract class PooledSender extends AbstractSender implements MultiPointS
}
public synchronized boolean checkIdleKeepAlive() {
- DataSender[] list = new DataSender[notinuse.size()];
- notinuse.toArray(list);
+ DataSender[] list = notinuse.toArray(new DataSender[0]);
boolean result = false;
for (DataSender dataSender : list) {
result = result | dataSender.keepalive();
diff --git a/java/org/apache/catalina/tribes/util/Arrays.java b/java/org/apache/catalina/tribes/util/Arrays.java
index 9cbe2db703..dfe79bd481 100644
--- a/java/org/apache/catalina/tribes/util/Arrays.java
+++ b/java/org/apache/catalina/tribes/util/Arrays.java
@@ -157,8 +157,7 @@ public class Arrays {
list.add(member);
}
}
- Member[] result = new Member[list.size()];
- list.toArray(result);
+ Member[] result = list.toArray(new Member[0]);
AbsoluteOrder.absoluteOrder(result);
return result;
}
diff --git a/java/org/apache/jasper/JspC.java b/java/org/apache/jasper/JspC.java
index afc92b795e..102dd796e4 100644
--- a/java/org/apache/jasper/JspC.java
+++ b/java/org/apache/jasper/JspC.java
@@ -1796,8 +1796,7 @@ public class JspC extends Task implements Options {
}
}
- URL urlsA[]=new URL[urls.size()];
- urls.toArray(urlsA);
+ URL[] urlsA = urls.toArray(new URL[0]);
loader = new URLClassLoader(urlsA, this.getClass().getClassLoader());
return loader;
}
diff --git a/java/org/apache/jasper/compiler/ErrorDispatcher.java b/java/org/apache/jasper/compiler/ErrorDispatcher.java
index 2ecc675a04..912b4a2e70 100644
--- a/java/org/apache/jasper/compiler/ErrorDispatcher.java
+++ b/java/org/apache/jasper/compiler/ErrorDispatcher.java
@@ -373,8 +373,7 @@ public class ErrorDispatcher {
JavacErrorDetail[] errDetails = null;
if (errors.size() > 0) {
- errDetails = new JavacErrorDetail[errors.size()];
- errors.toArray(errDetails);
+ errDetails = errors.toArray(new JavacErrorDetail[0]);
}
return errDetails;
diff --git a/java/org/apache/tomcat/util/modeler/ManagedBean.java b/java/org/apache/tomcat/util/modeler/ManagedBean.java
index c808e7ff7c..4ca7e58b44 100644
--- a/java/org/apache/tomcat/util/modeler/ManagedBean.java
+++ b/java/org/apache/tomcat/util/modeler/ManagedBean.java
@@ -95,9 +95,7 @@ public class ManagedBean implements java.io.Serializable {
* @return the collection of attributes for this MBean.
*/
public AttributeInfo[] getAttributes() {
- AttributeInfo result[] = new AttributeInfo[attributes.size()];
- attributes.values().toArray(result);
- return result;
+ return attributes.values().toArray(new AttributeInfo[0]);
}
@@ -197,9 +195,7 @@ public class ManagedBean implements java.io.Serializable {
* @return the collection of operations for this MBean.
*/
public OperationInfo[] getOperations() {
- OperationInfo[] result = new OperationInfo[operations.size()];
- operations.values().toArray(result);
- return result;
+ return operations.values().toArray(new OperationInfo[0]);
}
diff --git a/java/org/apache/tomcat/util/net/openssl/OpenSSLEngine.java b/java/org/apache/tomcat/util/net/openssl/OpenSSLEngine.java
index 172c6fc366..cbfebdd3a9 100644
--- a/java/org/apache/tomcat/util/net/openssl/OpenSSLEngine.java
+++ b/java/org/apache/tomcat/util/net/openssl/OpenSSLEngine.java
@@ -826,12 +826,7 @@ public final class OpenSSLEngine extends SSLEngine implements SSLUtil.ProtocolIn
if ((opts & SSL.SSL_OP_NO_SSLv3) == 0) {
enabled.add(Constants.SSL_PROTO_SSLv3);
}
- int size = enabled.size();
- if (size == 0) {
- return new String[0];
- } else {
- return enabled.toArray(new String[size]);
- }
+ return enabled.toArray(new String[0]);
}
@Override
diff --git a/test/org/apache/catalina/session/TesterStore.java b/test/org/apache/catalina/session/TesterStore.java
index ffd935e252..00bc2efcf2 100644
--- a/test/org/apache/catalina/session/TesterStore.java
+++ b/test/org/apache/catalina/session/TesterStore.java
@@ -58,7 +58,7 @@ class TesterStore implements Store {
@Override
public String[] keys() throws IOException {
- return new ArrayList<>(sessions.keySet()).toArray(new String[] {});
+ return new ArrayList<>(sessions.keySet()).toArray(new String[0]);
}
@Override
diff --git a/test/org/apache/tomcat/websocket/TestWsSubprotocols.java b/test/org/apache/tomcat/websocket/TestWsSubprotocols.java
index a4c2e7b575..ea31a5b5ea 100644
--- a/test/org/apache/tomcat/websocket/TestWsSubprotocols.java
+++ b/test/org/apache/tomcat/websocket/TestWsSubprotocols.java
@@ -88,7 +88,7 @@ public class TestWsSubprotocols extends WebSocketBaseTest {
}
Assert.assertNotNull(SubProtocolsEndpoint.subprotocols);
Assert.assertArrayEquals(new String[]{"sp1","sp2"},
- SubProtocolsEndpoint.subprotocols.toArray(new String[2]));
+ SubProtocolsEndpoint.subprotocols.toArray(new String[0]));
wsSession.close();
SubProtocolsEndpoint.recycle();
}
diff --git a/webapps/examples/WEB-INF/classes/compressionFilters/CompressionFilter.java b/webapps/examples/WEB-INF/classes/compressionFilters/CompressionFilter.java
index 698a9ffdd5..b80988708f 100644
--- a/webapps/examples/WEB-INF/classes/compressionFilters/CompressionFilter.java
+++ b/webapps/examples/WEB-INF/classes/compressionFilters/CompressionFilter.java
@@ -117,8 +117,7 @@ public class CompressionFilter extends GenericFilter {
}
if (values.size() > 0) {
- compressionMimeTypes = values.toArray(
- new String[0]);
+ compressionMimeTypes = values.toArray(new String[0]);
} else {
compressionMimeTypes = null;
}
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org