

利用反射获取类型参数, 但是没有返回有用的信息:

Java 泛型是使用擦除来实现的, 任何具体类型信息都被擦除:
- List
和 List 在运行时事实上是相同类型 - 这两种形式都被擦除成原生的 List 类型
15.7.1 C++ 的方式
由编译器检查:

java 中不能使用该方式:

给 java 编译器一个类型边界:

这种方式不如自己写一个包含关系:

15.7.2 迁移兼容性
具体化:

擦除的核心动机是它使得泛化的客户端可以用非泛化的类库来使用, 反之亦然, 这经常被称为迁移兼容性.
15.7.3 擦除的问题
泛型不能用于显示地引用运行时类型的操作之中, 转型, instanceof, new.
- d2.set(obj) 时编译器才给出警告
- 使用
@SuppressWarnings(unchecked")来抑制警告


15.7.4 边界处的动作
Array.newInstance()
