在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
对象并打印出来。