问题描述
- ParameterizedType接口问题
-
ParameterizedType type = (ParameterizedType) this.getClass().getGenericSuperclass();
Class clazz = (Class) type.getActualTypeArguments()[0];
这两句代码怎么解释,ParameterizedType不是一个接口吗?接口怎么能调用getActualTypeArguments()[0]方法?
解决方案
getClass().getGenericSuperclass()返回表示此 Class 所表示的
实体(类、接口、基本类型或 void)的直接超类的 Type
然后将其转换ParameterizedType。
getActualTypeArguments()返回表示此类型实际类型参数的 Type 对象的数组。
[0]就是这个数组中第一个了。
简而言之就是获得超类的泛型参数的实际类型
时间: 2024-09-20 10:55:36