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 0eef701a932f..1db34223cb41 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 MethodInvocation invocableClone() { 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 303836769542..95268a2993e0 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 @@ private static String[] copyOrNull(@Nullable String[] state) { } 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 3cc0474db74c..da97487d4a4d 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 9507fb3ed021..f8e484fae718 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 byte[] toByteArrayUnsafe() { */ 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(); } /**