Browse Source

Use array.clone() instead of manual array creation

pull/23992/head
stsypanov 6 years ago committed by Juergen Hoeller
parent
commit
f2b3953d76
  1. 3
      spring-aop/src/main/java/org/springframework/aop/framework/ReflectiveMethodInvocation.java
  2. 4
      spring-context-support/src/main/java/org/springframework/mail/SimpleMailMessage.java
  3. 3
      spring-context/src/main/java/org/springframework/cache/interceptor/SimpleKey.java
  4. 4
      spring-core/src/main/java/org/springframework/util/FastByteArrayOutputStream.java

3
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; Object[] cloneArguments = this.arguments;
if (this.arguments.length > 0) { if (this.arguments.length > 0) {
// Build an independent copy of the arguments array. // Build an independent copy of the arguments array.
cloneArguments = new Object[this.arguments.length]; cloneArguments = this.arguments.clone();
System.arraycopy(this.arguments, 0, cloneArguments, 0, this.arguments.length);
} }
return invocableClone(cloneArguments); return invocableClone(cloneArguments);
} }

4
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) { private static String[] copy(String[] state) {
String[] copy = new String[state.length]; return state.clone();
System.arraycopy(state, 0, copy, 0, state.length);
return copy;
} }
} }

3
spring-context/src/main/java/org/springframework/cache/interceptor/SimpleKey.java vendored

@ -48,8 +48,7 @@ public class SimpleKey implements Serializable {
*/ */
public SimpleKey(Object... elements) { public SimpleKey(Object... elements) {
Assert.notNull(elements, "Elements must not be null"); Assert.notNull(elements, "Elements must not be null");
this.params = new Object[elements.length]; this.params = elements.clone();
System.arraycopy(elements, 0, this.params, 0, elements.length);
this.hashCode = Arrays.deepHashCode(this.params); this.hashCode = Arrays.deepHashCode(this.params);
} }

4
spring-core/src/main/java/org/springframework/util/FastByteArrayOutputStream.java

@ -206,9 +206,7 @@ public class FastByteArrayOutputStream extends OutputStream {
*/ */
public byte[] toByteArray() { public byte[] toByteArray() {
byte[] bytesUnsafe = toByteArrayUnsafe(); byte[] bytesUnsafe = toByteArrayUnsafe();
byte[] ret = new byte[bytesUnsafe.length]; return bytesUnsafe.clone();
System.arraycopy(bytesUnsafe, 0, ret, 0, bytesUnsafe.length);
return ret;
} }
/** /**

Loading…
Cancel
Save