一、Type所有类型有
- 原始类型 (raw types):Class
- 参数化类型:ParameterizedType
- 数组类型:GenericArrayType
- 类型变量:TypeVariable
- 基本数据类型:primitive Class
二、下面用代码分析Tpye的接口类型
Tpye接口的子接口:ParameterizedType、TypeVariable、WildcardType、GenericArrayType
1、List<T>--->T:TypeVariable
class A<T extends Exception> {
private T t;
}
2、 List<T>:ParameterizedType
class A<T extends Exception> {
private List<T> t;
}
3、List<? extends T> --->?:WildcardType
class A<T extends Exception> {
private List<? extends T> t;
}
4、 List<String>[]:GenericArrayType
class A<T extends Exception> {
private List<T>[] t;
}
三、测试代码
public class Test {
public static void main(String[] args) throws Exception {
Field field = A.class.getDeclaredField("t");
Type type = field.getGenericType();
System.out.println(type);
}
}
class A<T extends Exception> {
private List<T>[] t;
}