开发者

Java之如何获取泛型参数

开发者 https://www.devze.com 2024-09-20 10:20 出处:网络 作者: 赚够壹仟万
目录Java获取泛型参数方法一 JDK方法二 spring提供的方式总结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

精彩评论

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

关注公众号