jdk1.5 的泛形
变量类型

<t>,<t,k>,<t extends list & map>
这些都是变量类型
类

class A<t extends b & list,k t>{}
TypeVariable[] tvs = A.class.getTypeParameters()
tvs 的 name 就是T,K
tvs 的 bound 就是extends 修饰符修饰的类型。
参数类型

Map<string,string>
这个就是参数类型,能够描述为一个class带上<>就是参数类型。
类型数组

List<string>[] list;
List<string>[] 就是类型数组。
通配符类型

List<!--? extends Map--> list;
<!--? extends Map--> 这个type 就是通配符类型
ResolvableType能够解决类,构造器,属性,方法中的泛形
类
public class A<t,k>{}
public class A1 extends A<list<string>,K>{}
ResolvableType rs = ResolvableType.forClass(A1.class);
System.out.println(rs.resolve()); //A1
System.out.println(rs.getGeneric(0));//?
System.out.println(rs.getSuperType().getGeneric(0,0));//String
构造器
public A1(List<string> list,List<!--? extends Map<String,String-->> list2){}
ResolvableType rs = ResolvableType.forConstructorParameter(A1.class.getDeclaredConstructors()[0],1);
System.out.println(rs.resolve()); //List
System.out.println(rs.getGeneric(0,1)); // String
System.out.println(rs.getSuperType()); //?
属性
方法</string></list<string></t,k></string></string></string,string></t></t></t,k></t>