diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/query/BasicUpdate.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/query/BasicUpdate.java index 522d98111..883eccc5c 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/query/BasicUpdate.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/query/BasicUpdate.java @@ -15,6 +15,7 @@ */ package org.springframework.data.mongodb.core.query; +import java.util.Arrays; import java.util.Collections; import com.mongodb.BasicDBObject; @@ -87,12 +88,8 @@ public class BasicUpdate extends Update { @Override public Update pullAll(String key, Object[] values) { - Object[] convertedValues = new Object[values.length]; - for (int i = 0; i < values.length; i++) { - convertedValues[i] = values[i]; - } DBObject keyValue = new BasicDBObject(); - keyValue.put(key, convertedValues); + keyValue.put(key, Arrays.copyOf(values, values.length)); updateObject.put("$pullAll", keyValue); return this; } diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/query/Update.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/query/Update.java index 9711d36db..8b3824bc6 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/query/Update.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/query/Update.java @@ -190,12 +190,7 @@ public class Update { * @return */ public Update pushAll(String key, Object[] values) { - - Object[] convertedValues = new Object[values.length]; - for (int i = 0; i < values.length; i++) { - convertedValues[i] = values[i]; - } - addMultiFieldOperation("$pushAll", key, convertedValues); + addMultiFieldOperation("$pushAll", key, Arrays.copyOf(values, values.length)); return this; } @@ -259,12 +254,7 @@ public class Update { * @return */ public Update pullAll(String key, Object[] values) { - - Object[] convertedValues = new Object[values.length]; - for (int i = 0; i < values.length; i++) { - convertedValues[i] = values[i]; - } - addFieldOperation("$pullAll", key, convertedValues); + addFieldOperation("$pullAll", key, Arrays.copyOf(values, values.length)); return this; } @@ -523,13 +513,7 @@ public class Update { return ((Collection) values[0]).toArray(); } - Object[] convertedValues = new Object[values.length]; - - for (int i = 0; i < values.length; i++) { - convertedValues[i] = values[i]; - } - - return convertedValues; + return Arrays.copyOf(values, values.length); } /*