2 pingfandw pingfandw 于 2013.11.29 22:47 提问

ParameterizedType接口问题

ParameterizedType type = (ParameterizedType) this.getClass().getGenericSuperclass();
Class clazz = (Class) type.getActualTypeArguments()[0];
这两句代码怎么解释,ParameterizedType不是一个接口吗?接口怎么能调用getActualTypeArguments()[0]方法?

1个回答

songzhiyong1121
songzhiyong1121   2013.11.30 10:35
已采纳

getClass().getGenericSuperclass()返回表示此 Class 所表示的
实体(类、接口、基本类型或 void)的直接超类的 Type
然后将其转换ParameterizedType。
getActualTypeArguments()返回表示此类型实际类型参数的 Type 对象的数组。
[0]就是这个数组中第一个了。
简而言之就是获得超类的泛型参数的实际类型

Csdn user default icon
上传中...
上传图片
插入图片