javaEE 获取运行时期泛型的具体类型,getActualTypeArguments()

BaseDaoImpl.java(运行期获取Dao层基类的泛型):

package cn.xxx.dao.impl;

import java.lang.reflect.ParameterizedType;

public class BaseDaoImpl<T> {

	private Class clazz;  //用于接收运行期的泛型类型
	
	public BaseDaoImpl() {
		//获得当前类型的带有泛型类型的父类 (运行期this其实是BaseDaoImpl的某个子类,ptClass其实就是BaseDaoImpl本身)
		ParameterizedType ptClass = (ParameterizedType) this.getClass().getGenericSuperclass();
		//获得运行期的泛型类型
		clazz = (Class) ptClass.getActualTypeArguments()[0];
	}
	
	// .......................

}

猜你喜欢

转载自blog.csdn.net/houyanhua1/article/details/82189142