Java集合定义其泛型

简介: Java集合定义其泛型

在使用集合的时候,首先就会定义其泛型:
// 使用泛型 List,指定只能存储 String 类型的元素
List stringList = new ArrayList<>();
stringList.add("Hello");
stringList.add("World");
// 使用泛型后,编译器会保证类型的正确性
for (String str : stringList) {
System.out.println(str);
}
// 下面这行代码会导致编译错误,因为不能将Integer添加到String类型的List中,因为就和上面一样:Integer强制转换为String就报错
// stringList.add(10);
// 使用泛型,即使在需要类型转换时,也不会出现ClassCastException
// 因为编译器已经保证了类型的正确性
System.out.println(stringList.get(0));
可以看到,上面我们在定义List的时候就声明了泛型是String,这样在下面使用的时候,我们在编译代码的时候就能看到插入的类型是否会报错,就可以避免了运行时发生类型转换异常。
由此可见,使用泛型可以在编译时期捕捉到类型错误,而不是在运行时。根据越早出错代价越小原则,这有助于提高代码的可靠性和稳定性。

目录
相关文章
|
SQL 数据处理 数据库
SQL语句优化与查询结果优化:提升数据库性能的实战技巧
在数据库管理和应用中,SQL语句的编写和查询结果的优化是提升数据库性能的关键环节
1145 0
|
存储 关系型数据库 MySQL
MySQL必看表设计经验汇总-上(精华版)
MySQL必看表设计经验汇总-上(精华版)
503 1
|
消息中间件 网络协议 Java
kafka如何调优?
kafka如何调优?
|
JavaScript
vue中设置子组件的点击事件不影响父组件的点击事件
vue中设置子组件的点击事件不影响父组件的点击事件
530 0
vue中设置子组件的点击事件不影响父组件的点击事件
|
Linux
一日一技:在Linux系统中如何查询正在运行的程序的路径
一日一技:在Linux系统中如何查询正在运行的程序的路径
532 0
|
Shell Linux 开发者
容器与宿主机间文件相互拷贝|学习笔记
快速学习容器与宿主机间文件相互拷贝
容器与宿主机间文件相互拷贝|学习笔记
|
缓存 运维 NoSQL
重磅下载 | Redis最佳实践与实战指南 源代码核心贡献者带你学习Redis关键技术
本书由七天玩转Redis实训营课程内容整理而成,不仅系统性地介绍Redis的整体架构及在多种场景下的最佳实践经验,而且揭秘阿里云Redis开发规范和运维解法,更有基于Redis的开发实操教程。
37248 0
重磅下载 | Redis最佳实践与实战指南 源代码核心贡献者带你学习Redis关键技术
Jmeter系列(61)- 详解断言持续时间
Jmeter系列(61)- 详解断言持续时间
327 0
Jmeter系列(61)- 详解断言持续时间
|
Kubernetes Cloud Native Go
带你读《云原生应用开发 Operator原理与实践》第三章 Kubebuilder 原理3.2 Kubebuilder 模块分析(二)
带你读《云原生应用开发 Operator原理与实践》第三章 Kubebuilder 原理3.2 Kubebuilder 模块分析