리플렉션을 사용하여 Java의 일반 매개변수 입력 이해
리플렉션을 통해 Java의 일반 매개변수 유형을 식별하는 것은 코드 분석에서 유용한 기술이 될 수 있습니다. 그리고 조작. 이 글에서는 일반 유형 매개변수와 관련된 실제 클래스를 검색하는 것과 관련된 과제와 해결 방법을 자세히 살펴보겠습니다.
과제: 일반 유형 정보 검색
다음 코드 조각을 고려하세요.
public final class Voodoo { public static void chill(List<?> aListWithTypeSpiderMan) { // Here we aim to obtain the Class object for 'SpiderMan' Class<?> typeOfTheList = ???; } public static void main(String... args) { chill(new ArrayList<SpiderMan>()); } }
우리의 목표는 일반 매개변수의 유형을 결정하는 것입니다. 냉각 방법 내에서. 특히 SpiderMan 클래스를 추출하려고 합니다.
해결책: 리플렉션 메커니즘 활용
Java의 리플렉션 기능은 런타임 시 클래스 및 메서드 정보에 액세스하고 조작하기 위한 메커니즘을 제공합니다. . 일반 매개변수의 유형을 알아내기 위해 다음 접근 방식을 사용할 수 있습니다.
Class<?> persistentClass = (Class<?>) ((ParameterizedType)getClass().getGenericSuperclass()) .getActualTypeArguments()[0];
이 코드는 다음 기술을 활용합니다.
참고
제공된 코드 조각에서는 현재 클래스가 (Voodoo)는 유형 매개변수를 선언하는 슈퍼클래스를 확장합니다. 그렇지 않은 경우 반영 코드를 적절하게 조정하려면 조정이 필요합니다.
위 내용은 Java Reflection을 사용하여 일반 유형 정보를 검색하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!