得到运行时类的泛型类型。

	//得到反射类型  
	private Class getGenericType(){
		if(clazz == null){
			Type type = super.getClass().getGenericSuperclass() ;
			if(type instanceof ParameterizedType){
				ParameterizedType ptype = ((ParameterizedType)type);
				Type[] args = ptype.getActualTypeArguments();
				clazz = args[0].getClass();
				tType = args[1].getClass();
			}
		} 
		return clazz ;
	}
	


类结构:

public abstract class BasicDaoImpl<T , PK> extends HibernateDaoSupport implements BasicDao<T , PK>{}

继承类

@Resource(name="BankDao")
protected BasicDaoImpl<Bank , Integer> bankDao ;


可以直接用Service类继承该Dao

public class BankService extends BasicDaoImpl<Bank, Integer> {} ;


泛型类型都会实现ParameterizedType接口,通过得到运行时的类型,再得到其 泛型父类。然后将其转换为 ParameterizedType 类型,在调用 getActualTypeArguments()(得到实际类型参数)方法得到该对象的泛型类型。 返回值为数组。 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值