阅读量:0
在Java中,可以使用反射来获取泛型类型。以下是一个示例代码:
import java.lang.reflect.ParameterizedType; import java.lang.reflect.Type; public class GenericClass<T> { private Class<T> type; public GenericClass() { Type genericSuperclass = getClass().getGenericSuperclass(); if (genericSuperclass instanceof ParameterizedType) { ParameterizedType parameterizedType = (ParameterizedType) genericSuperclass; this.type = (Class<T>) parameterizedType.getActualTypeArguments()[0]; } } public Class<T> getType() { return type; } public static void main(String[] args) { GenericClass<String> genericClass = new GenericClass<String>() {}; System.out.println(genericClass.getType()); // 输出 class java.lang.String } }
在上面的示例中,我们定义了一个泛型类GenericClass,并使用反射获取了泛型类型T的实际类型。通过调用getType()方法,就可以获取到泛型的类型。