獲取運行時帶泛型父類的參數類型:this
帶泛型父類:spa
public class BaseDao<T> @SuppressWarnings("unchecked") public Class<T> getEntityClass() |
子類:it
public class AccountDao1 extends BaseDao<Account> public static void main(String[] args) |
輸出:class
reflect.Account |
若是要獲取本類中泛型的實例,須要在建立本類對象時同時初始化泛型的實際類型泛型
例如:在有參構造器中將泛型做爲參數傳入。
public class AccountDao<T extends Account> public AccountDao(Class<T> entityClass) public Class<T> getEntityClass1() public T getInstance() { if (entityClass != null) { try { return entityClass.newInstance(); } catch (InstantiationException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IllegalAccessException e) { // TODO Auto-generated catch block e.printStackTrace(); } } return null; } } |