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