1. 程式人生 > >在父類的構造方法中動態獲得entityClass

在父類的構造方法中動態獲得entityClass

父類的宣告

public class BaseDaoImpl<T> extends HibernateDaoSupport implements IBaseDao<T> {

父類的成員變數

	private Class<T> entityClass;

父類的構造方法,動態獲取T的型別 

     *比如get方法使用的時候需要指定具體的Class,才可以使用。可以通過這樣的操作。

	public BaseDaoImpl() {
		ParameterizedType superclass = (ParameterizedType) this.getClass().getGenericSuperclass();
		//獲得父類上宣告的泛型陣列
		Type[] actualTypeArguments = superclass.getActualTypeArguments();
		entityClass = (Class<T>) actualTypeArguments[0];
	}