Language 入门

用编译期泛型类型安全取代原始集合类型和取值时的强制转换。

✕ Java 1.4
List names = new ArrayList();
names.add("Duke");

String name = (String) names.get(0);
✓ Java 5+
List<String> names = new ArrayList();
names.add("Duke");

String name = names.get(0);
发现此代码有问题? 告诉我们。
🔒

编译期安全

无效的元素类型会在编译期而非运行期失败。

🧹

无需取值强制转换

值会保留其声明的元素类型。

📖

自解释的API

集合声明能准确说明其包含的内容。

旧方式
原始集合
现代方式
泛型集合
自 JDK
5
难度
入门
从原始集合到泛型类型
可用

泛型自JDK 5(2004年9月)起可用。

原始集合可以接受任意对象类型,类型错误会被推迟到强制转换执行时才暴露。泛型类型参数让编译器能够校验写入和读取,消除强制转换, 增强IDE辅助功能,并使API契约更加明确。原始类型通常只应保留在经过仔细隔离的遗留互操作边界处。