阅读量:101
在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对象并打印出来。