java怎么获取泛型的类型

avatar
作者
猴君
阅读量: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()方法,就可以获取到泛型的类型。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!