diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/util/BsonUtils.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/util/BsonUtils.java index a1a2b9636..cb1fd2d87 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/util/BsonUtils.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/util/BsonUtils.java @@ -19,7 +19,7 @@ import java.util.Arrays; import java.util.Collection; import java.util.Date; import java.util.Map; -import java.util.stream.Collectors; +import java.util.StringJoiner; import java.util.stream.StreamSupport; import org.bson.BsonValue; @@ -30,7 +30,6 @@ import org.bson.json.JsonParseException; import org.springframework.core.convert.converter.Converter; import org.springframework.lang.Nullable; import org.springframework.util.ObjectUtils; -import org.springframework.util.StringUtils; import com.mongodb.BasicDBObject; import com.mongodb.DBObject; @@ -120,7 +119,7 @@ public class BsonUtils { * * @param source * @return - * @since 2.1.1 + * @since 2.1.12 */ @Nullable public static String toJson(@Nullable Document source) { @@ -181,12 +180,13 @@ public class BsonUtils { return iterableToDelimitedString(source, "[ ", " ]", BsonUtils::toJson); } - private static String iterableToDelimitedString(Iterable source, String prefix, String postfix, - Converter transformer) { + private static String iterableToDelimitedString(Iterable source, String prefix, String suffix, + Converter transformer) { - return prefix - + StringUtils.collectionToCommaDelimitedString( - StreamSupport.stream(source.spliterator(), false).map(transformer::convert).collect(Collectors.toList())) - + postfix; + StringJoiner joiner = new StringJoiner(", ", prefix, suffix); + + StreamSupport.stream(source.spliterator(), false).map(transformer::convert).forEach(joiner::add); + + return joiner.toString(); } }