Отражение списка объектов, которые сериализуемы - PullRequest
1 голос
/ 13 января 2010

Я задал вопрос в: отражает объект списка

Я на самом деле получил свой ответ, просто хочу понять, почему, когда я это делаю, я получаю разрешение недопустимого значения: АргументException: Невозможно установить для статического окончательного значения ArrayList SerialVersionUID значение java.lang.long. Но когда я делаю один объект отражает другой объект без ошибок.

List<ClassB> listB = (List<ClassB>) convert(listA, ArrayList.class); 

1 Ответ

1 голос
/ 13 января 2010

Существует проблема с методом convert, когда он пытается назначить конечное поле. Я предлагаю вам изменить метод конвертирования следующим образом.

    for (Field targetField : targetClass.getDeclaredFields()) {
        if (!Modifier.isFinal(targetField.getModifiers())) {
            targetField.setAccessible(true);
            Field field =
                instance.getClass().getDeclaredField(targetField.getName());
            field.setAccessible(true);
            targetField.set(target, field.get(instance));
         }
     }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...