문제

나는 다음과 같이 질문했다 : 목록 개체를 반영합니다

나는 실제로 내 대답을 얻었는데, 왜 이렇게하는 이유를 이해하고 싶다. 그러나 한 객체를 수행하면 다른 객체에 오류가 없습니다.

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