Java++Type

215 阅读1分钟

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();