获取运行时期的对象类型
来源:互联网 发布:林向正手抛网淘宝价格 编辑:程序博客网 时间:2024/05/16 10:29
getClass().getGenericSuperclass()返回表示此 Class 所表示的实体(类、接口、基本类型或 void)的直接超类的 Type
然后将其转换ParameterizedType
getActualTypeArguments()返回表示此类型实际类型参数的 Type 对象的数组。
[0]就是这个数组中第一个了。。
简而言之就是获得超类的泛型参数的实际类型。。
比如:
超类
public class GenericDAO<T> {
private Class<T> entityClass;
protected GenericDAO() {
Type type = getClass().getGenericSuperclass();
Type trueType = ((ParameterizedType) type).getActualTypeArguments()[0];
this.entityClass = (Class<T>) trueType;
}
}
子类
public class OptionManager extends GenericDAO<MSGC_OPTION> {
}
测试类
public class OracleTest {
public static void main(String[] args) throws Exception {
OptionManager manager = new OptionManager();
}
}
这样在你new OptionManager();以后
超类里的entityClass就是子类那里的public class OptionManager extends GenericDAO<MSGC_OPTION> 里面的MSGC_OPTION所对应的class对象了..
阅读全文
0 0
- 获取运行时期的对象类型
- 编译时期和运行时期的区别
- spirng创建对象的时期、方式、scope
- 获取运行时泛型的实际类型
- java运行时期
- java常见的四个运行时期的异常
- 人类学--中国古人类学(先秦时期的人种类型)
- 使用运行是类型标识来确定对象的类型
- 【python】获取对象的类型和信息
- unity获取Camera类型的对象
- 获取对象类型及类型判断的几种方法
- java获取对象类型
- 获取对象类型(swift)
- JavaScript操作对象以及获取运行时的style对象
- JavaScript操作对象以及获取运行时的style对象
- 在运行时获取泛型的类型
- 在运行时获取泛型的类型
- 如何在运行时获取泛型的类型
- Object Detection系列(三) Fast R-CNN
- Java data
- map集合的遍历
- 2016APP界面视觉设计尺寸
- Linux初学者日志
- 获取运行时期的对象类型
- centos7 安装apache教程以及安装后无法访问的原因以及解决方案
- SpringBoot项目取消数据库配置
- 如何让eacharts 堆叠图不堆叠
- LUOGU P1843 奶牛晒衣服
- 论文笔记:Self-critical Sequence Training for Image Captioning
- context:component-scan 标签解析
- XSS网站攻击演示
- shell bash常用的相关命令快捷建--字符串分割, 光标移到行首、行尾等