0. Type
它有四个子接口和一个实现类
GenericArrayType
ParameterizedType
TypeVariable
WildcardType
Class
1. Class
表示 JVM中一个类或者接口
2.GenericArrayType
数组类型,且组成元素是 ParameterizedType 或 TypeVariable
//元素类型
Type getGenericComponentType();
3.ParameterizedType
参数化类型,如 List(String), Map<String, Object>
//获取参数类型列表
Type[] getActualTypeArguments();
Type getRawType();
//该类型所属的类型
Type getOwnerType();
4.TypeVariable
类型变量 List中 T就是类型变量,编译时需被转换为具体类型才可以
//类型上界
Type[] getBounds();
//原始类型
D getGenericDeclaration();
5.WildcardType
通配符类型,如 ? extends Number, ? super Integer
//上界
Type[] getUpperBounds();
//下界
Type[] getLowerBounds();