泛型比使用Object变量,然后进行强制类型转换具有更好的安全性和可读性,对于集合类尤其有用。
12.1 为什么要使用泛型程序设计
泛型意味着编写的代码可以被很多不同类型的对象所重用。
ArrayList类有一个类型参数用来指示元素的类型:ArrayList<String> files;代码具有很好的可读性,一看就知道这个数组列表中包含的是String对象。编译器也可以很好地利用这个信息,当调用get的时候,不需要进行强制类型转换,编译器就知道返回值类型为String,而不是Object。
通配符类型。
12.2 简单泛型类的定义
一个泛型类ius具有一个或多个类型变量的类。Java中较常见是类型变量使用大写形式,使用E表示集合的元素类型,K和V分别表示表的关键字与值的类型,T表示任意类型。
public class Pair<T>{
private T first; private T second;
public Pair(){ first = null; second = null; }
public Pair(T first, T second){ this.first = first; this.second = second; }
public T getFirst(){ return first; }
public T getSecond(){ return