Java 泛型参数使用单个大写字母作为约定,以下是标准命名:
字母 含义 典型使用场景
T Type(类型) 通用类型,最常用
E Element(元素) 集合类(如 `List<E>`)
K Key(键) Map 的键
V Value(值) Map 的值
N Number(数字) 数值类型
R Result(结果) 方法返回类型
S, U, V 第二、三、四个类型 多个类型参数时
示例
```java
// T - 通用类型
public class Box<T> {
private T content;
}
// E - 集合元素
public interface List<E> extends Collection<E> {}
// K, V - Map 键值对
public interface Map<K, V> {
V put(K key, V value);
}
// N - 数值
public class Calculator<N extends Number> {
public double sum(N a, N b) { ... }
}
// 多个类型参数
public interface Function<T, R> {
R apply(T t);
}
// 三个及以上
public class Triple<T, U, V> {
T first; U second; V third;
}
```
关键规则
-
必须是大写单字母(区别于普通类名)
-
有明确语义含义,不是随意取的
-
如果需要更多参数,按字母顺序继续:`S`, `U`, `V`...
这些命名来自 Java 官方集合框架的设计,已成为行业标准。