리플렉션을 통해 필드 값을 받으려고합니다. 문제는 필드 유형을 모르고 값을 얻는 동안 결정해야한다는 것입니다.
이 코드는이 예외와 함께 발생합니다.
java.lang.String 필드 com .... fieldName을 java.lang.String으로 설정할 수 없습니다.
Field field = object.getClass().getDeclaredField(fieldName);
field.setAccessible(true);
Class<?> targetType = field.getType();
Object objectValue = targetType.newInstance();
Object value = field.get(objectValue);
캐스팅을 시도했지만 컴파일 오류가 발생합니다.
field.get((targetType)objectValue)
또는
targetType objectValue = targetType.newInstance();
어떻게해야합니까?
field.get()
는object
아닙니다objectValue
.