Reflexão Uma lista de objeto que é serializável
-
20-09-2019 - |
Pergunta
Eu fiz uma pergunta em: refletir um objeto de lista
Na verdade, recebi minha resposta, só quero entender por que quando isso vou acertar ilegalArgumentException: não posso definir o Arraylist SerialVersionUID de estático para java.lang.long. Mas quando eu faço um objeto refletindo para outro objeto sem erro.
List<ClassB> listB = (List<ClassB>) convert(listA, ArrayList.class);
Solução
Há um problema com o método de convertido quando ele tenta atribuir um campo final. Eu sugiro que você modifique o método de convertido da seguinte maneira.
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));
}
}
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow