阅读量:0
在Java中,可以通过反射来获取泛型类型。以下是一个示例代码:
import java.lang.reflect.ParameterizedType; import java.lang.reflect.Type; public class GenericClass<T> { public Class<T> getGenericType() { ParameterizedType parameterizedType = (ParameterizedType) getClass().getGenericSuperclass(); Type[] typeArguments = parameterizedType.getActualTypeArguments(); Class<T> type = (Class<T>) typeArguments[0]; return type; } public static void main(String[] args) { GenericClass<String> genericClass = new GenericClass<>(); Class<String> genericType = genericClass.getGenericType(); System.out.println(genericType.getName()); } }
在这个例子中,GenericClass
是一个泛型类,通过调用getGenericType
方法可以获取到泛型类型T
的Class
对象。在main
方法中,创建一个GenericClass
对象,并获取泛型类型为String
的Class
对象并打印出来。