什么是泛型:
泛型(Generics)是 Java 语言中的一种特性,它可以让程序在编译时期检查和确保类型的安全性。简单来说,泛型就是一个类或方法,在定义时不预先指定具体类型而是使用类型形参(Type Parameter)代替,这些类型形参可以在创建对象或调用方法时被指定为具体的类型。通过使用泛型,Java 可以使得代码更加通用、类型更加约束,并且避免了运行期间出现类型相关的错误。
以下是一个使用泛型的例子。我们定义了一个类 Pair,其作用是将两个对象捆绑在一起并形成一个整体。这里使用了类型形参 T 来代表任意类型:
class Pair<T> {
private T first;
private T second;
public Pair(T first, T second) {
this.first = first;
this.second = second;
}
public T getFirst() {
return first;
}
public void setFirst(T first) {
this.first = first;
}
public T getSecond() {
return second;
}
public void setSecond(T second) {
this.second = second;
}
}
上述代码中,定义的 Pair 类具有两个属性:first 和 second,它们都是 T 类型。Pair 类具有一个构造函数,可以接受两个 T 类型的参数,这些参数为 first 和 second 赋值。另外,Pair 类还支持 get 和 set 方法以获取和修改 first 和 second 的值。
使用时,可以通过指定泛型参数来创建具体类型的对象。例如,以下代码实例化了一个 Pair 类型的对象 p1,并将它的 first 属性设置为字符串 “Hello”,second 属性设置为整数 123:
Pair<String> p1 = new Pair<>("Hello", 123);
System.out.println(p1.getFirst()); // 输出 "Hello"
System.out.println(p1.getSecond()); // 输出 123
总之,泛型是 Java 中的一种特性,它可以让程序在编译时期检查和确保类型的安全性,使得代码更加通用、类型更加约束,并且避免了运行期间出现类型相关的错误。
在定义时指定泛型,代表可以接受多种类型,在使用时指定具体类型,
(一般工作不用,纯装逼)