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