public class BaseDao<T> implements IBaseDao<T> {
/**
* 實際操作對象的類型
*/
private Class<T> clazz;
/**
* 操作對象的對象名
*/
private String className;
public BaseDao() {
Type type = this.getClass().getGenericSuperclass();
// 將獲取到的類型轉換爲參數化類型
ParameterizedType tp = (ParameterizedType) type;
// 從參數化類型中獲取實際類型
Type[] types = tp.getActualTypeArguments();
// 強轉爲class字節碼對象
clazz = (Class<T>) types[0];
// 從字節碼對象中獲取參數對象名稱
className = clazz.getSimpleName();
}
}
Base公共接口實現泛型的類型獲取
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.