一个泛型类(generic class)就是具有一个或多个类型变量的类。本章使用一个简单的Pair类作为例子。对于这个类来说,我们只关注泛型,而不会为数据存储的细节烦恼:
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 second; }public void setFirst(T newValue) { first = newValue; }public void setSecond(T newValue) { second = newValue; }}
Pair 类引入了一个类型变量(类型参数) T,用尖括号(<>)括起来,并放在类名的后面。泛型类可以有多个类型变量:
public class Pair<T, U> {...}
类型变量使用大写形式,且比较短。在 Java 库中,常用的类型变量有:
- E - Element
- K - Key
- N - Number
- T - Type
- V - Value
- S,U,V etc. - 2nd, 3rd, 4th types
就可以用具体的类型替换类型变量:
Pair<String> p = new Pair<>();Pair<String> p = new Pair<>(String, String);String getFirst();String getSecond();void setFirst(String);void setSecond(String);
