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); 
¿Fue útil?

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
scroll top