ParameterizedType获取java泛型参数类型

本文介绍了一种在Java泛型类中获取实际传入类型的通用方法。通过将当前类的直接超类转换为ParameterizedType并获取其泛型参数的实际类型,从而实现了对泛型类型T的具体类的捕获。

在类中获取传入的泛型类

public abstract class BaseDaoImpl<T> implements BaseDao<T>{
    //下边要用到泛型里的类 可是我不知道回传进来什么类 下边就可以获取到泛型中传入的类
    Class<T> clazz;
    ParameterizedType pt = (ParameterizedType)this.getClass().getGenericSuperclass();
    /*返回表示此 Class 所表示的实体(类、接口、基本类型或 void)的直接超类的 Type然后将其转成          ParameterizedType
    */
    clazz = (Class<T>)pt.getActualTypeArguments()[0];
    /*
    返回表示此类型实际类型参数的 Type 对象的数组。/[0]就是这个数组中第一个了,简而言之就是获得超类的泛型参数的实际类型。
*/

.....
}




评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值