第12章 Java泛型

在编程语言中,泛型是一个常见的特性。在主流编程语言(如Java、C++和C#)中都可以看到类似的语言特性。在程序中通常只对固定类型的对象进行操作。有些代码可以对多种不同类型的对象进行操作。实际使用的类型在代码中只是以参数形式出现的占位符,在具体实例化时,用实际类型替代其中的类型占位符,这种方式被称为泛型编程(generic programming)。泛型适用于对抽象类型进行处理,可以有效地减少代码重复,通过一份代码即可对不同类型的对象进行操作。典型的例子是处理集合相关的数据结构。对于这些数据结构可以进行一些抽象的操作,如排序和反转等。这些操作只与数据结构的特征相关,与其中包含的对象的类型无关。在实现这些操作时,对象的类型用占位符来表示即可,并不影响操作的实现逻辑。使用者可以根据需要指定实际的类型。

Java语言发展到J2SE 5.0才引入了泛型的特性。泛型的主要动机是为了实现类型安全的集合类。除此之外,泛型还可以用来创建处理抽象类型的新类型。本章的内容围绕Java中的泛型展开,涉及的内容包括泛型的基本概念、底层实现和使用方式等。