in src/main/java/org/apache/commons/configuration2/convert/DefaultConversionHandler.java [328:355]
private Object toPrimitiveArray(final Object src, final Class<?> elemClass, final ConfigurationInterpolator ci) {
if (src.getClass().isArray()) {
if (src.getClass().getComponentType().equals(elemClass)) {
return src;
}
if (src.getClass().getComponentType().equals(ClassUtils.primitiveToWrapper(elemClass))) {
// the value is an array of the wrapper type derived from the
// specified primitive type
final int length = Array.getLength(src);
final Object array = Array.newInstance(elemClass, length);
for (int i = 0; i < length; i++) {
Array.set(array, i, Array.get(src, i));
}
return array;
}
}
final Collection<?> values = extractValues(src);
final Class<?> targetClass = ClassUtils.primitiveToWrapper(elemClass);
final Object array = Array.newInstance(elemClass, values.size());
int idx = 0;
for (final Object value : values) {
Array.set(array, idx++, convertValue(ci.interpolate(value), targetClass, ci));
}
return array;
}