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 38621f2f5d..10822e3c25 100644
--- a/spring-core/src/main/java/org/springframework/util/ObjectUtils.java
+++ b/spring-core/src/main/java/org/springframework/util/ObjectUtils.java
@@ -70,7 +70,6 @@ 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 = "[...]";
@@ -915,10 +914,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}
@@ -953,12 +951,12 @@ public abstract class ObjectUtils {
if (obj.getClass().isArray()) {
return (Array.getLength(obj) == 0 ? EMPTY_ARRAY : NON_EMPTY_ARRAY);
}
- if (obj instanceof Collection> collection) {
- return (collection.isEmpty() ? EMPTY_COLLECTION : NON_EMPTY_COLLECTION);
+ if (obj instanceof Collection) {
+ return NON_EMPTY_COLLECTION;
}
- if (obj instanceof Map, ?> map) {
- // EMPTY_ARRAY and NON_EMPTY_ARRAY are also used for maps.
- return (map.isEmpty() ? EMPTY_ARRAY : NON_EMPTY_ARRAY);
+ if (obj instanceof Map) {
+ // NON_EMPTY_ARRAY is also used for maps.
+ return NON_EMPTY_ARRAY;
}
if (obj instanceof Class> clazz) {
return clazz.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 e67f964c3b..8090c4be82 100644
--- a/spring-core/src/test/java/org/springframework/util/ObjectUtilsTests.java
+++ b/spring-core/src/test/java/org/springframework/util/ObjectUtilsTests.java
@@ -1052,8 +1052,8 @@ class ObjectUtilsTests {
void nullSafeConciseToStringForEmptyCollections() {
List list = List.of();
Set set = Set.of();
- assertThat(ObjectUtils.nullSafeConciseToString(list)).isEqualTo("[]");
- assertThat(ObjectUtils.nullSafeConciseToString(set)).isEqualTo("[]");
+ assertThat(ObjectUtils.nullSafeConciseToString(list)).isEqualTo("[...]");
+ assertThat(ObjectUtils.nullSafeConciseToString(set)).isEqualTo("[...]");
}
@Test
@@ -1066,8 +1066,8 @@ class ObjectUtilsTests {
@Test
void nullSafeConciseToStringForEmptyMaps() {
- Map map = new HashMap();
- assertThat(ObjectUtils.nullSafeConciseToString(map)).isEqualTo("{}");
+ Map map = Map.of();
+ assertThat(ObjectUtils.nullSafeConciseToString(map)).isEqualTo("{...}");
}
@Test