15.1 与 C++ 的比较
15.2 简单泛型
持有单个具体类:

利用 Object 持有不同类型的类:

使用类型参数, 由编译器确保类型正确:

15.2.1 一个元组类库
tuple: 存储多个对象的单一对象
- 不允许存放新元素
存储两个不同类的 tuple:


利用继承实现存储不同个数的不同类:

使用元组实现 return 多个返回值:

15.2.2 一个堆栈类

15.2.3 RandomList


15.3 泛型接口


基础类型无法作为类型参数:

15.4 泛型方法
static 方法无法访问泛型类的类型参数, 需要使其成为泛型方法.
定义泛型方法:
- 在调用泛型方法时, 编译器根据参数就能知道具体类型, 所以不用在调用泛型方法前传递类型参数

15.4.1 杠杆利用类型参数推断
显示的类型说明:

考虑编译器何时可以使用类型推断.
15.4.2 可变参数与泛型方法


