Browse Source

Polish "Add support for multidimensional arrays"

See gh-34183
pull/34387/head
Stéphane Nicoll 11 months ago
parent
commit
ec037b1ec0
  1. 19
      spring-beans/src/main/java/org/springframework/beans/AbstractNestablePropertyAccessor.java
  2. 2
      spring-beans/src/test/java/org/springframework/beans/BeanWrapperAutoGrowingTests.java

19
spring-beans/src/main/java/org/springframework/beans/AbstractNestablePropertyAccessor.java

@ -933,21 +933,16 @@ public abstract class AbstractNestablePropertyAccessor extends AbstractPropertyA @@ -933,21 +933,16 @@ public abstract class AbstractNestablePropertyAccessor extends AbstractPropertyA
* @param arrayType the desired type of the target array
* @return a new array instance
*/
private Object createArray(Class<?> arrayType) {
private static Object createArray(Class<?> arrayType) {
Assert.notNull(arrayType, "Array type must not be null");
if (arrayType.isArray()) {
Class<?> componentType = arrayType.componentType();
if (componentType.isArray()) {
Object array = Array.newInstance(componentType, 1);
Array.set(array, 0, createArray(componentType));
return array;
}
else {
return Array.newInstance(componentType, 0);
}
Class<?> componentType = arrayType.componentType();
if (componentType.isArray()) {
Object array = Array.newInstance(componentType, 1);
Array.set(array, 0, createArray(componentType));
return array;
}
else {
throw new IllegalArgumentException("Unsupported Array type: " + arrayType.getName());
return Array.newInstance(componentType, 0);
}
}

2
spring-beans/src/test/java/org/springframework/beans/BeanWrapperAutoGrowingTests.java

@ -1,5 +1,5 @@ @@ -1,5 +1,5 @@
/*
* Copyright 2002-2024 the original author or authors.
* Copyright 2002-2025 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.

Loading…
Cancel
Save