开发者

Java之如何获取泛型参数

目录
  • Java获取泛型参数
  • 方法一 JDK
  • 方法二 spring提供的方式
  • 总结

Java获取泛型参数

对于一个基本的类

public class Bwww.devze.comaseDao<T>{
    T findOne() {
        return T;
    }
}

它的子类

public class StudentDao extends BaseDao<StudentDao.Student>{

    public static class Student{
    }

}

如何获得当前类对应的泛型参数呢?

方法一 JDK

public staphptic void main(String[] args) throws Exception {
    // 可以拿到带有泛型信息的父类
    Type genericSuperclass = StudentDao.class.getGenericSuperclass();
    // 这里要判断一手如果你的父类确android实有泛型信息
    if (genericSuperclass instanceof ParameterizedType parameterizedType) {
        Type[] typeArguments = parameterizedType.getActualTypeArguments();
        System.out.println(typeArguments[0]);
    }
}

方法二 spring提供的方式

通过GenericTypeResolver获得.

public static void ma编程客栈in(String[] args) throws Excandroideption {
   Class<?> t = GenericTypeResolver.resolveTypeArgument(StudentDao.class, BaseDao.class);
   System.out.println(t);
}

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程客栈(www.devze.com)。

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新开发

开发排行榜