12.1 为什么要使用泛型程序设计
12.2 定义简单泛型类
12.3 泛型方法
12.4 类型变量的限定
12.5 泛型代码和虚拟机
12.5.1 翻译泛型表达式
12.5.2 翻译泛型方法
12.5.3 调用遗留代码
12.6 约束与局限性
12.6.1 不能用基本类型实例化类型参数
12.6.2 运行时类型查询只适用于原始类型
12.6.3 不能创建参数化类型的数组
12.6.4 Varargs警告
12.6.5 不能实例化类型变量
12.6.6 泛型类的静态上下文中类型变量无效
12.6.7 不能抛出或捕获泛型类的实例
12.6.8 注意擦除后的冲突
12.7 泛型类型的继承规则
12.8 通配符类型
12.8.1 通配符的超类型限定
12.8.2 无限定通配符
12.8.3 通配符捕获
12.9 反射和泛型
12.9.1 使用Class参数进行类型匹配
12.9.2 虚拟机中的泛型类型信息