Отражение Список объекта, который является сериализуемым
-
20-09-2019 - |
Вопрос
Я задал вопрос: отражать объект списка
Я на самом деле получил свой ответ, просто хочу понять, почему, когда это сделает, я попаду в allogalargumentException: не могу установить статический окончательный массив Serialversionuid на java.lang.long. Но когда я делаю один объект, не отражает другой объект, без ошибок.
List<ClassB> listB = (List<ClassB>) convert(listA, ArrayList.class);
Решение
Существует проблема с методом преобразования, когда он пытается назначить окончательное поле. Я предлагаю вам изменить метод преобразования следующим образом.
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));
}
}
Не связан с StackOverflow