Преобразование массива объектов в массив пользовательских типов - PullRequest
1 голос
/ 23 июня 2011

У меня есть метод для построения массива для требуемого типа.Это работает для примитивных типов.Но когда у меня есть массив пользовательских объектов, это не работает.Так что я его подправил.Но все равно это не удается.Код выглядит так:

    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 ]

2 голосов
/ 23 июня 2011

Если у вас есть массив Object, вы можете использовать Arrays.copyOf, чтобы преобразовать его в другой тип:

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

1 голос
/ 23 июня 2011

Спасибо, я решил, используя Axis Array Util Для того же

...