Java反射中getGenericInterfaces和getInterfaces的解读
今天在做解析网络请求后得到的数据的转化的时候用到了:getGenericInterfaces这个方法。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
/**
* 获取回调接口中 T 的具体类型
*
* @param clazz
* @return
*/
public static Type getTType(Class clazz) {
//以Type的形式返回本类直接实现的接口.
Type[] types = clazz.getGenericInterfaces();
if (types.length > 0) {
//返回表示此类型实际类型参数的 Type 对象的数组
Type[] interfacesTypes = ((ParameterizedType) types[0]).getActualTypeArguments();
return interfacesTypes[0];
}
return null;
}