List<ClassB> listB = (List<ClassB>) convert(listA, ArrayList.class);
答案 0 :(得分:1)
当尝试分配最终字段时,convert方法存在问题。我建议你修改convert方法如下。
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));
}
}