Java 泛型核心机制与实战指南
泛型是 Java 语言中实现类型安全的重要特性。它允许我们在编译阶段就检查类型,避免运行时的强制转换错误,同时提升代码的可复用性。
泛型类
基本语法
定义泛型类时,需要在类名后使用尖括号声明类型参数:
class ClassName<T1, T2, ..., Tn> {
// 这里可以使用类型参数
}
如果需要继承,也可以指定父类的泛型参数:
class ClassName<T1, T2, ..., Tn> extends ParentClass<T1> {
// 可以只使用部分类型参数
}
实际应用
实例化泛型类时,必须指定具体的类型实参。这能让编译器知道容器里装的是什么。
class MyArray<T> {
public Object[] array = new Object[10];
public void set(int pos, T val) {
array[pos] = val;
}
public T get(int pos) {
return (T) array[pos];
}
public Object[] getArray() {
return array;
}
}
public class Test {
public static void main(String[] args) {
MyArray<String> myArray = new MyArray<>();
// 后续操作会自动进行类型检查
}
}
泛型上界
有时候我们需要对传入的类型变量做约束,比如要求它必须是某个类的子类。这时可以通过 extends 关键字来设定边界。


