Отражение Список объекта, который является сериализуемым

StackOverflow https://stackoverflow.com/questions/2056206

Вопрос

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

Я на самом деле получил свой ответ, просто хочу понять, почему, когда это сделает, я попаду в 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));
         }
     }
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top