java.util.List의 일반 유형을 검색하는 방법
Java에서 제네릭을 사용하면 컬렉션이 특정 유형의 요소를 저장할 수 있습니다. , 예를 들어 List
다음 코드에 설명된 것처럼 일반 유형을 검색하는 한 가지 접근 방식에는 리플렉션이 포함됩니다.
import java.lang.reflect.Field; import java.lang.reflect.ParameterizedType; import java.util.ArrayList; import java.util.List; public class Test { List<String> stringList = new ArrayList<>(); List<Integer> integerList = new ArrayList<>(); public static void main(String... args) throws Exception { Class<Test> testClass = Test.class; Field stringListField = testClass.getDeclaredField("stringList"); ParameterizedType stringListType = (ParameterizedType) stringListField.getGenericType(); Class<?> stringListClass = (Class<?>) stringListType.getActualTypeArguments()[0]; System.out.println(stringListClass); // class java.lang.String Field integerListField = testClass.getDeclaredField("integerList"); ParameterizedType integerListType = (ParameterizedType) integerListField.getGenericType(); Class<?> integerListClass = (Class<?>) integerListType.getActualTypeArguments()[0]; System.out.println(integerListClass); // class java.lang.Integer } }
이 기술은 다음과 같습니다. 일반 유형의 필드, 매개변수 유형 및 메소드의 반환 유형을 얻는 데 사용됩니다. 그러나 제네릭 유형이 선언된 동일한 범위 내에 있는 경우 이미 알려져 있으므로 본질적으로 검색할 필요가 없다는 점에 유의하는 것이 중요합니다.
위 내용은 Java `목록` 객체의 일반 유형을 결정하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!