java怎么获取泛型的类型

   2024-10-05 4900
核心提示:在Java中,可以使用反射来获取泛型类型。以下是一个示例代码:import java.lang.reflect.ParameterizedType;import java.lang.re

在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()方法,就可以获取到泛型的类型。

 
举报打赏
 
更多>同类物流大全
推荐图文
推荐物流大全
点击排行

网站首页  |  关于我们  |  联系方式 | 网站留言    |  赣ICP备2021007278号