Reflexión una lista de objetos que es serializable
-
20-09-2019 - |
Pregunta
He hecho una pregunta en: reflejar una lista de objetos
De hecho, me dieron mi respuesta sólo quieren entender por qué cuando ello voy a golpea IllegalArgumentException: No se puede establecer static final ArrayList serialVersionUID a java.lang.Long. Pero cuando hago un objeto a otro objeto reflejar ningún error.
List<ClassB> listB = (List<ClassB>) convert(listA, ArrayList.class);
Solución
Hay un problema con el método de conversión cuando se trata de asignar un campo final. Le sugiero que modificar el método de conversión de la siguiente manera.
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 bajo: CC-BY-SA con atribución
No afiliado a StackOverflow