泛型(Generics)是一种编程语言特性,它允许在编写代码时使用未指定具体类型的变量、参数或返回值。泛型的作用是增加代码的灵活性和重用性,并提高代码的类型安全性。
泛型可以应用于各种数据结构和算法中,例如集合类(List、Set、Map等)、数据容器和通用算法等。通过使用泛型,我们可以编写更通用、更健壮的代码,而无需为每种类型单独编写代码。
使用泛型的语法是通过在定义类型、方法或类时使用占位符来表示未指定的类型。常见的占位符有 "T"(Type),“E”(Element),"K"(Key),"V"(Value)等。然后,在实际使用时,将具体的类型传递给这些占位符。
下面是一个使用泛型的简单示例:
// 定义一个泛型类
class Pair<T, U> {private T first;private U second;public Pair(T first, U second) {this.first = first;this.second = second;}public T getFirst() {return first;}public U getSecond() {return second;}
}// 使用泛型类
Pair<Integer, String> pair = new Pair<>(1, "Hello");
int first = pair.getFirst(); // 返回 1
String second = pair.getSecond(); // 返回 "Hello"
在上面的示例中,我们定义了一个名为 Pair
的泛型类,它可以存储一对具有不同类型的值。在使用时,我们通过传递具体的类型(这里是 Integer
和 String
)来实例化泛型类,并且可以使用 getFirst
和 getSecond
方法来获取存储的值。
通过使用泛型,我们可以创建更加通用和灵活的代码,同时减少类型转换和错误。