一、获取子类DAO继承父类DAO的泛型参数类型的Class对象

首先知道:
 Class clzz=getClass().getSuperclass();
 Type type=getClass().getGenericSuperclass();
而Type是JAVA语言中所有类型的公共父接口,Class类是其直接实现类。

获取父类泛型类型:
Type type=getClass().getGenericSuperclass();
ParameterizedType pt = (ParameterizedType) type;//参数化
Type[] types=pt.getActualTypeArguments();
Class<T> entityClass=(Class<T>)types[0];
......
以下为 Type直接子接口
ParameterizedType,GenericArrayType,TypeVariable和WildcardType四种类型的接口
ParameterizedType: 表示一种参数化的类型,比如Collection
GenericArrayType: 表示一种元素类型是参数化类型或者类型变量的数组类型
TypeVariable: 是各种类型变量的公共父接口
WildcardType: 代表一种通配符类型表达式,比如?, ? extends Number, ? super Integer【wildcard是一个单词:就是“通配符”】

转载于:https://my.oschina.net/u/2559966/blog/659956

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值