获取泛型类中的泛型参数的类型
来源:互联网 发布:ubuntu install g 编辑:程序博客网 时间:2024/04/30 16:12
泛型类只是定义了一个泛型,还没有传递一个类型给这个泛型,所以他是一个空的占位符而已。
如果要实实在在的得到这个泛型的类型,那就必须传递一个东西给他。
所以获取泛型类型,有两种方式,一种通过参数传递,一种通过子类继承的方式传递。
publci class Dao<T> {
private Class<T> clazz;
//第一种方式,无参数的方式,也就是通过子类继承的方式,把子类传递给父类
// Dao<Student> dao = new StudentDao();
public Dao(){
Type type = this.getClass().getGenericSuperclass();
if (type instanceof ParameterizedType) {
ParameterizedType paramType = (ParameterizedType) type;
Type[] args = paramType.getActualTypeArguments();
if (args != null && args.length>0) {
Type arg = args[0];
if (arg instanceof Class) {
this.clazz= (Class<T>)arg;
// System.out.println(this.clazz);
}
}
}
}
//第二种方式,通过参数传递
// Dao<Student> dao = new Dao<>(Student.class);
public Dao(Class<T> clazz) {
this.clazz = clazz;
// System.out.println (this.clazz) ; //输出 Student
}
}
--------------------------------------
public class StudentDao extends Dao<Student> {
public StudnetDao(){ }
}
- 获取泛型类中的泛型参数的类型
- Java获取泛型的类型参数
- Java获取泛型参数的类型的方法
- Java获取泛型参数的类型的方法 .
- 从泛型类中获取子类的泛型参数的类型
- Java获取泛型参数的类型的方法
- 跳过编译器,获取泛型参数的实际类型
- 通过反射获取变量泛型参数化的类型
- java中通过反射获取泛型的参数类型
- Java 运行时如何获取泛型参数的类型
- Java 运行时如何获取泛型参数的类型
- 如何获取方法参数的泛型类型
- Java 运行时如何获取泛型参数的类型
- 关于如何获取泛型参数的实体类型
- 通过反射获取泛型参数类型
- ParameterizedType获取java泛型参数类型
- ParameterizedType获取java泛型参数类型
- ParameterizedType获取java泛型参数类型
- Java APK中几个以文件路径为参数的方法
- BeagleBoardPWM用python做PWM
- 做dataguard犯了一个低级错误修改参数报错ORA-16187: LOG_ARCHIVE_CONFIG contains duplicate, conflicting or invalid att
- vim里的括号自动补全与删除
- 3D流水线(pipeline)
- 获取泛型类中的泛型参数的类型
- NCQ与TCQ的区别及测试比较
- C 重置连续地址空间
- 深入浅出 RPC - 浅出篇
- 谈谈开源技术选型
- 面向服务与微服务架构
- android Dialog
- xcode静态库,动态库的一些文章
- android Dialog