Java 泛型参数有哪些?

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 官方集合框架的设计,已成为行业标准。