目录
- 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)。
精彩评论