java程序设计开发,泛型-Java自动装箱与拆箱学习笔记,泛型是 JDK 1.5 引入的特性,允许在定义类、接口、方法时使用类型参数(Type Parameters)
Java 程序设计开发:泛型与自动装箱 / 拆箱学习笔记
一、泛型(Generics)核心概念
定义:
泛型是 JDK 1.5 引入的特性,允许在定义类、接口、方法时使用类型参数(Type Parameters),使代码可以处理不同类型的数据,同时保证类型安全。
核心目标:
- 类型安全:编译期检查类型匹配,避免运行时
ClassCastException
。 - 代码复用:一套逻辑处理多种数据类型(如集合类
List<E>
、Map<K, V>
)。 - 消除强制类型转换:直接使用目标类型,无需手动转换。
二、泛型基础:类型参数(Type Parameters)
1. 泛型类(Generic Class)
语法:class 类名<T1, T2, ...>
(T 为类型参数,可自定义名称,常用E
、K
、V
、T
)。
案例:泛型容器类
// 定义泛型类:存储任意类型数据
class Box<T> {
private T value;
public void setValue(T value) {
this.value = value;
}
public T getValue() {
return value;
}
}
// 使用:自动类型推断(JDK 1.7+)
Box<Integer> box = new Box<>();
box.setValue(100);
int num = box.getValue(); // 无需强制类型转换
2. 泛型方法(Generic Method)
语法:在方法返回值前声明类型参数(即使类不是泛型类,也可定义泛型方法)。