将对象数组转换为自定义类型数组

时间:2011-06-23 11:33:47

标签: java arrays list reflection toarray

我有一个方法来构建所需类型的数组。它适用于原始类型。但是,当我有自定义对象数组时,它不起作用。所以我调整了它。但它仍然失败了。  代码是这样的:

    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数组。

欢迎任何这方面的帮助。 提前谢谢。

2 个答案:

答案 0 :(得分:2)

如果您有一个Object数组,则可以使用Arrays.copyOf将其转换为其他类型:

CustomType[] ca = Arrays
  .copyOf(array, array.length, CustomType[].class);

答案 1 :(得分:1)

谢谢我使用Axis's Array Util For the same

解决了这个问题