1、Java采用泛型擦除的机制来引入泛型。Java中的泛型仅仅是给编译器javac使用的,确保数据的安全性和免去强制类型转换的麻烦。但是,一旦编译完成,所有的和泛型有关的类型将全部擦除。
2、为了通过反射操作这些类型以迎合实际开发的需要,Java新增ParameterizedType,GenericArrayType、TypeVariable和WildcardType几种类型来代表不能被归一到Class类中的类型,但是又和原始类型齐名的类型。
ParameterizedType:表示一种参数化的类型,比如Collection<String>。
GenericArrayType:表示一种元素类型是参数化类型或者类型变量的数组类型。
TypeVariable:是各种类型变量的公共父接口。
WildcardType:代表一种通配符类型表达式,比如:?,? extends Number,?super Integer。
【wildcard是一个单词,就是“通配符”】
标签:反射,Java,类型,WildcardType,泛型,操作,ParameterizedType,GenericArrayType From: https://blog.51cto.com/u_11315052/6687816