泛型 - Java

Java 泛型,提供一个通用的类型模板,以参数形式限制类型。消除了强制类型转换,减少出错。

JDK 5 加入的特性

泛型的使用

1
2
3
4
5
6
7
8
// 泛型类
public class Test<T> {}

// 泛型接口
public interface Test <T> {}

// 泛型方法
public <T> void Test(T name) {}

T 是一个泛型标记符,可以替换成任意字母A,B,C,D,…

泛型标记符

E - Element (在集合中使用,因为集合中存放的是元素)
T - Type(Java 类)
K - Key(键)
V - Value(值)
N - Number(数值类型)
? - 表示不确定的 java 类型(接收所有未知类型)

只支持引用类型

1
2
Object<Integer> //true
Object<int> //false

编译时会把泛型编译成Object类型,所以不能是基本类型,只能是引用类型

常用泛型

Module java.base
Package java.util
Interface List<E>
Interface Map<K,​V>