((ParameterizedType) getClass().getGenericSuperclass()).getActualTypeArguments()[0]
来源:互联网 发布:用友u8数据库修复工具 编辑:程序博客网 时间:2024/06/10 05:26
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对象了..
- ((ParameterizedType) getClass().getGenericSuperclass()).getActualTypeArguments()[0]
- ((ParameterizedType) getClass().getGenericSuperclass()).getActualTypeArguments()[0]
- ((ParameterizedType) getClass().getGenericSuperclass()).getActualTypeArguments()[0]
- ((ParameterizedType) getClass().getGenericSuperclass()).getActualTypeArguments()[0]
- ((ParameterizedType) getClass().getGenericSuperclass()).getActualTypeArguments()[0]
- (ParameterizedType) getClass().getGenericSuperclass().getActualTypeArguments()[0]得到的是什么?
- 使用((ParameterizedType) getClass().getGenericSuperclass()).getActualTypeArguments()[0]的实例
- Java中BaseDao方法以(ParameterizedType) getClass().getGenericSuperclass().getActualTypeArguments()[0]处理方式
- ParameterizedType,getClass(),getGenericSuperclass()
- ParameterizedType parameterizedType=(ParameterizedType) this.getClass().getGenericSuperclass(); Cl
- 基类 ParameterizedType type = (ParameterizedType) this.getClass().getGenericSuperclass();
- getSimpleName(),getClass(),getGenericSuperclass()和getActualTypeArguments()的返回结果
- ParameterizedType getGenericSuperclass 获取泛型参数;class getClass区别
- 关于getGenericSuperclass方法和getActualTypeArguments()[0]方法的使用
- java反射、getClass()、getSuperclass()、getGenericSuperclass()
- 使用getGenericSuperclass()和getActualTypeArguments()将DAO做成泛型
- 使用getGenericSuperclass()和getActualTypeArguments()将DAO做成泛型
- 使用getGenericSuperclass()和getActualTypeArguments()将DAO做成泛型
- 雪花效果实现
- [Android Studio 权威教程]打包、生成jks密钥、签名Apk、多渠道打包
- socket实现ping功能
- MongoDB——第一天 基础入门
- 处理积分加现金支付业务逻辑
- ((ParameterizedType) getClass().getGenericSuperclass()).getActualTypeArguments()[0]
- android开发中关于PendingIntent的知识点
- Linux -Qt 开发环境搭建
- 解读Unity中的CG编写Shader系列1——初识CG
- handler底层是如何将消息从子线程发送到主线程
- 二分查找
- Xcode6中添加pch文件
- BaseService.java(Service业务层基类)
- 数据库性能之索引