Java集合
一、泛型
• 从JDK 5.0开始,Java引入“参数化类型(parameterized type)”的概念,这种参数化类型称为“泛型(Generic)”。泛型是将数据类型参数化,即在编写代码时将数据类型定义成参数,这些类型参数在使用之前再进行指明。泛型提高了代码的重用性,使得程序更加灵活、安全和简洁。
1、 泛型定义
• 在JDK 5.0之前,为了实现参数类型的任意化,都是通过Object类型来处理。但这种处理方式所带来的缺点是需要进行强制类型转换,此种强制类型转换不仅使代码臃肿,而且要求程序员必须对实际所使用的参数类型已知的情况下才能进行,否则容易引起ClassCastException异常。
• 从JDK 5.0开始,Java增加对泛型的支持。使用泛型之后就不会出现上述问题。泛型的好处是在程序编译期会对类型进行检查,捕捉类型不匹配错误,以免引起ClassCastException异常;而且泛型不需要进行强制转换,数据类型都是自动转换的。
• 泛型经常使用在类、接口和方法的定义中,分别称为泛型类、泛型接口和泛型方法。泛型类是引用类型,在内存堆中。
定义泛型类的语法:
[访问符] class 类名<类型参数列表> {
//类体......
}
泛型类:
class Node<T> {
private T data;
public Node<T> next;
//省略......
}
• 在实例化泛型类时,需要指定类型参数的具体类型,例如Integer、String
或一个自定义的类等。
实例化泛型类的语法:
类名<类型参数列表> 对象= new 类名<类型参数列表> ([构造方 法参数列表]);
实例化泛型类:
Node<String> myNode