1、獲取子類DAO繼承父類DAO的泛型參數類型的Class對象

 

首先知道:
 Class clzz=getClass().getSuperclass();
 Type type=getClass().getGenericSuperclass();
而Type是JAVA語言中全部類型的公共父接口,Class類是其直接實現類。java

獲取父類泛型類型:
Type type=getClass().getGenericSuperclass();
ParameterizedType pt = (ParameterizedType) type;//參數化
Type[] types=pt.getActualTypeArguments();
Class<T> entityClass=(Class<T>)types[0];
......
如下爲 Type直接子接口
ParameterizedType,GenericArrayType,TypeVariable和WildcardType四種類型的接口
ParameterizedType: 表示一種參數化的類型,好比Collection
GenericArrayType: 表示一種元素類型是參數化類型或者類型變量的數組類型
TypeVariable: 是各類類型變量的公共父接口
WildcardType: 表明一種通配符類型表達式,好比?, ? extends Number, ? super Integer【wildcard是一個單詞:就是「通配符」】數組

相關文章
相關標籤/搜索