我有一个方法来构建所需类型的数组。它适用于原始类型。但是,当我有自定义对象数组时,它不起作用。所以我调整了它。但它仍然失败了。 代码是这样的:
private Object buildArray( String type, Object object) {
final Class<?> requiredType = loadClass(type);
final String typeName = type.substring(2).replace(";", "").trim();
Object[] array = ((Object[]) object);
ArrayList<Object> arrayList = new ArrayList<Object>(array.length);
for (Object customObj : array) {
arrayList.add(castToRequiredType(typeName, customObj));
}
return arrayList.toArray();
}
在此castToRequiredType
中:将CustomObject
投射到CustomType
,其中CustomType
是一个类。要构建的数组是CustomType
类型。我坚持动态构建CustomType
数组。
欢迎任何这方面的帮助。 提前谢谢。
答案 0 :(得分:2)
如果您有一个Object
数组,则可以使用Arrays.copyOf
将其转换为其他类型:
CustomType[] ca = Arrays
.copyOf(array, array.length, CustomType[].class);
答案 1 :(得分:1)