Java泛型类通过类型参数(如)实现类型安全和代码复用,支持多类型参数、继承泛型、通配符边界限制,编译期检查并在运行时擦除类型信息。

Java泛型类允许在定义类时使用类型参数,使类可以适用于多种数据类型,同时在编译期提供类型安全检查。使用泛型类可以避免强制类型转换,提升代码的可重用性和健壮性。
泛型类的基本语法
定义一个泛型类时,在类名后加上尖括号
-
表示 Type -
表示 Element(常用于集合) -
表示 Key, 表示 Value(常用于 Map)
示例:定义一个简单的泛型类
class Box使用这个泛型类时,指定具体的类型:
立即学习“Java免费学习笔记(深入)”;
Box多个类型参数
一个泛型类可以有多个类型参数,用逗号分隔。
class Pair使用方式:
泛型类的继承与实现
泛型类可以被继承,子类可以选择保留泛型或指定具体类型。
- 继承时继续使用泛型: class SpecialBox
- 继承时固定类型: class StringBox extends Box
实现泛型接口也类似:
interface Container类型通配符与边界限制
在使用泛型类时,可以使用通配符 > 表示未知类型,还可通过 extends 或 super 设置边界。
- 上界通配符:Box extends Number> —— 接受 Number 及其子类,如 Integer、Double
- 下界通配符:Box super Integer> —— 接受 Integer 及其父类,如 Number、Object
示例方法接收特定范围的泛型类:
void process(Box extends Number> box) { Number num = box.getValue(); System.out.println(num.doubleValue()); }基本上就这些。掌握泛型类的定义和使用,能写出更灵活、安全的 Java 代码。注意类型擦除是 Java 泛型的底层机制,运行时泛型信息会被擦除,仅用于编译期检查。不复杂但容易忽略。











