From f2b3953d765782f5bc8bc0027634a32bd2aab5c8 Mon Sep 17 00:00:00 2001 From: stsypanov Date: Mon, 11 Nov 2019 18:52:56 +0200 Subject: [PATCH] Use array.clone() instead of manual array creation --- .../aop/framework/ReflectiveMethodInvocation.java | 3 +-- .../main/java/org/springframework/mail/SimpleMailMessage.java | 4 +--- .../java/org/springframework/cache/interceptor/SimpleKey.java | 3 +-- .../org/springframework/util/FastByteArrayOutputStream.java | 4 +--- 4 files changed, 4 insertions(+), 10 deletions(-) diff --git a/spring-aop/src/main/java/org/springframework/aop/framework/ReflectiveMethodInvocation.java b/spring-aop/src/main/java/org/springframework/aop/framework/ReflectiveMethodInvocation.java index 0eef701a93..1db34223cb 100644 --- a/spring-aop/src/main/java/org/springframework/aop/framework/ReflectiveMethodInvocation.java +++ b/spring-aop/src/main/java/org/springframework/aop/framework/ReflectiveMethodInvocation.java @@ -212,8 +212,7 @@ public class ReflectiveMethodInvocation implements ProxyMethodInvocation, Clonea Object[] cloneArguments = this.arguments; if (this.arguments.length > 0) { // Build an independent copy of the arguments array. - cloneArguments = new Object[this.arguments.length]; - System.arraycopy(this.arguments, 0, cloneArguments, 0, this.arguments.length); + cloneArguments = this.arguments.clone(); } return invocableClone(cloneArguments); } diff --git a/spring-context-support/src/main/java/org/springframework/mail/SimpleMailMessage.java b/spring-context-support/src/main/java/org/springframework/mail/SimpleMailMessage.java index 3038367695..95268a2993 100644 --- a/spring-context-support/src/main/java/org/springframework/mail/SimpleMailMessage.java +++ b/spring-context-support/src/main/java/org/springframework/mail/SimpleMailMessage.java @@ -276,9 +276,7 @@ public class SimpleMailMessage implements MailMessage, Serializable { } private static String[] copy(String[] state) { - String[] copy = new String[state.length]; - System.arraycopy(state, 0, copy, 0, state.length); - return copy; + return state.clone(); } } diff --git a/spring-context/src/main/java/org/springframework/cache/interceptor/SimpleKey.java b/spring-context/src/main/java/org/springframework/cache/interceptor/SimpleKey.java index 3cc0474db7..da97487d4a 100644 --- a/spring-context/src/main/java/org/springframework/cache/interceptor/SimpleKey.java +++ b/spring-context/src/main/java/org/springframework/cache/interceptor/SimpleKey.java @@ -48,8 +48,7 @@ public class SimpleKey implements Serializable { */ public SimpleKey(Object... elements) { Assert.notNull(elements, "Elements must not be null"); - this.params = new Object[elements.length]; - System.arraycopy(elements, 0, this.params, 0, elements.length); + this.params = elements.clone(); this.hashCode = Arrays.deepHashCode(this.params); } diff --git a/spring-core/src/main/java/org/springframework/util/FastByteArrayOutputStream.java b/spring-core/src/main/java/org/springframework/util/FastByteArrayOutputStream.java index 9507fb3ed0..f8e484fae7 100644 --- a/spring-core/src/main/java/org/springframework/util/FastByteArrayOutputStream.java +++ b/spring-core/src/main/java/org/springframework/util/FastByteArrayOutputStream.java @@ -206,9 +206,7 @@ public class FastByteArrayOutputStream extends OutputStream { */ public byte[] toByteArray() { byte[] bytesUnsafe = toByteArrayUnsafe(); - byte[] ret = new byte[bytesUnsafe.length]; - System.arraycopy(bytesUnsafe, 0, ret, 0, bytesUnsafe.length); - return ret; + return bytesUnsafe.clone(); } /**