클래스 필드가 List<String>
인지 확인해야합니다. 나는 다음과 같은 코드를 그렇게 시도했다 :Reflection을 사용하여 개체의 일반 유형을 검사하는 방법은 무엇입니까?
for (Field formField : formClass.getDeclaredFields()) {
...
if (formField.getGenericType().equals((Class<List<String>>)(Class<?>)List.class)) {
...
}
}
잘못된 코드 것으로 보인다 때문에 formField.getGenericType().equals((Class<List<String>>)(Class<?>)List.class)
수익률도 실제로 List<String>
입니다 필드에 false
.
또 다른 방법은 필드가 List
이고 범위가 formField.getType().equals(List.class)
인 경우 먼저 테스트 한 다음 formField.getGenericType() instanceof ParameterizedType
으로 일반화되어 있는지 확인하고 유형 인수의 클래스를 확인하십시오.
하지만이 방법을 구현하는 방법이 더 짧다고 생각합니다. 거기 있니? 예로부터