diff --git a/spring-core/src/main/java/org/springframework/util/ObjectUtils.java b/spring-core/src/main/java/org/springframework/util/ObjectUtils.java
index 4475152488e..64aef0d25a7 100644
--- a/spring-core/src/main/java/org/springframework/util/ObjectUtils.java
+++ b/spring-core/src/main/java/org/springframework/util/ObjectUtils.java
@@ -70,8 +70,8 @@ public abstract class ObjectUtils {
private static final String ARRAY_ELEMENT_SEPARATOR = ", ";
private static final Object[] EMPTY_OBJECT_ARRAY = new Object[0];
private static final String NON_EMPTY_ARRAY = ARRAY_START + "..." + ARRAY_END;
- private static final String EMPTY_COLLECTION = "[]";
- private static final String NON_EMPTY_COLLECTION = "[...]";
+ private static final String COLLECTION = "[...]";
+ private static final String MAP = NON_EMPTY_ARRAY;
/**
@@ -938,10 +938,9 @@ public abstract class ObjectUtils {
*
{@code"Optional[]"} if {@code obj} is a non-empty {@code Optional},
* where {@code } is the result of invoking {@link #nullSafeConciseToString}
* on the object contained in the {@code Optional}
- * {@code "{}"} if {@code obj} is an empty array or {@link Map}
- * {@code "{...}"} if {@code obj} is a non-empty array or {@link Map}
- * {@code "[]"} if {@code obj} is an empty {@link Collection}
- * {@code "[...]"} if {@code obj} is a non-empty {@link Collection}
+ * {@code "{}"} if {@code obj} is an empty array
+ * {@code "{...}"} if {@code obj} is a {@link Map} or a non-empty array
+ * {@code "[...]"} if {@code obj} is a {@link Collection}
* {@linkplain Class#getName() Class name} if {@code obj} is a {@link Class}
* {@linkplain Charset#name() Charset name} if {@code obj} is a {@link Charset}
* {@linkplain TimeZone#getID() TimeZone ID} if {@code obj} is a {@link TimeZone}
@@ -977,12 +976,11 @@ public abstract class ObjectUtils {
if (obj.getClass().isArray()) {
return (Array.getLength(obj) == 0 ? EMPTY_ARRAY : NON_EMPTY_ARRAY);
}
- if (obj instanceof Collection>) {
- return (((Collection>) obj).isEmpty() ? EMPTY_COLLECTION : NON_EMPTY_COLLECTION);
+ if (obj instanceof Collection) {
+ return COLLECTION;
}
- if (obj instanceof Map, ?>) {
- // EMPTY_ARRAY and NON_EMPTY_ARRAY are also used for maps.
- return (((Map, ?>) obj).isEmpty() ? EMPTY_ARRAY : NON_EMPTY_ARRAY);
+ if (obj instanceof Map) {
+ return MAP;
}
if (obj instanceof Class>) {
return ((Class>) obj).getName();
diff --git a/spring-core/src/test/java/org/springframework/util/ObjectUtilsTests.java b/spring-core/src/test/java/org/springframework/util/ObjectUtilsTests.java
index a4d3b8cee39..a17f0bd10e0 100644
--- a/spring-core/src/test/java/org/springframework/util/ObjectUtilsTests.java
+++ b/spring-core/src/test/java/org/springframework/util/ObjectUtilsTests.java
@@ -1078,8 +1078,8 @@ class ObjectUtilsTests {
void nullSafeConciseToStringForEmptyCollections() {
List list = Collections.emptyList();
Set set = Collections.emptySet();
- assertThat(ObjectUtils.nullSafeConciseToString(list)).isEqualTo("[]");
- assertThat(ObjectUtils.nullSafeConciseToString(set)).isEqualTo("[]");
+ assertThat(ObjectUtils.nullSafeConciseToString(list)).isEqualTo("[...]");
+ assertThat(ObjectUtils.nullSafeConciseToString(set)).isEqualTo("[...]");
}
@Test
@@ -1094,7 +1094,7 @@ class ObjectUtilsTests {
@Test
void nullSafeConciseToStringForEmptyMaps() {
Map map = Collections.emptyMap();
- assertThat(ObjectUtils.nullSafeConciseToString(map)).isEqualTo("{}");
+ assertThat(ObjectUtils.nullSafeConciseToString(map)).isEqualTo("{...}");
}
@Test