Java泛型的应用与优点
需积分: 9 76 浏览量
更新于2024-09-12
收藏 227KB DOCX 举报
Java泛型的应用
Java泛型是Java 5中引入的一种机制,用于限制集合的处理类型,提高程序的可读性和稳定性。泛型的主要作用是限定集合的输入类型,让编译器在源代码级别上,即挡住向集合中插入非法数据。
在JDK 5以前,对象保存到集合中就会失去其特性,取出时通常要程序员手工进行类型的强制转换,这样不可避免就会引发程序的一些安全性问题。例如:
```java
ArrayList list = new ArrayList();
list.add("abc");
Integer num = (Integer) list.get(0); // 运行时会出错,但编码时发现不了
list.add(new Random());
list.add(new ArrayList());
for (int i = 0; i < list.size(); i++) {
(?) list.get(i); // 此处取出来的对象应转换成什么类型
}
```
而使用泛型,可以在编写集合代码时,就限制集合的处理类型,从而把原来程序运行时可能发生问题,转变为编译时的问题,以此提高程序的可读性和稳定性。
泛型的基本术语,以ArrayList<E>为例:<E>念着类型参数变量,ArrayList<Integer>中的Integer称为实际类型参数,整个称为ArrayList<E>泛型类型,整个ArrayList<Integer>称为参数化的类型ParameterizedType。
泛型的应用非常广泛,例如:
1. 使用迭代器迭代泛形集合中的元素。
```java
@Test
public void test2() {
List<Integer> list = new ArrayList<Integer>();
list.add(1);
list.add(2);
list.add(3);
Iterator<Integer> it = list.iterator();
while (it.hasNext()) {
System.out.println(it.next());
}
}
```
2. 使用增强for循环迭代泛形集合中的元素。
3. 存取HashMap中的元素。
需要注意的是,泛型是提供给javac编译器使用的,它用于限定集合的输入类型,让编译器在源代码级别上,即挡住向集合中插入非法数据。但编译器编译完带有泛形的Java程序后,生成的class文件中将不再带有泛形信息,以此使程序运行效率不受到影响,这个过程称之为“擦除”。
Java泛型是一种非常有用的机制,它可以提高程序的可读性和稳定性,减少程序中的错误和安全性问题。
2011-12-01 上传
104 浏览量
点击了解资源详情
点击了解资源详情
点击了解资源详情
2024-11-01 上传
点击了解资源详情
2022-06-10 上传
jhx2017
- 粉丝: 0
- 资源: 2
最新资源
- 构建基于Django和Stripe的SaaS应用教程
- Symfony2框架打造的RESTful问答系统icare-server
- 蓝桥杯Python试题解析与答案题库
- Go语言实现NWA到WAV文件格式转换工具
- 基于Django的医患管理系统应用
- Jenkins工作流插件开发指南:支持Workflow Python模块
- Java红酒网站项目源码解析与系统开源介绍
- Underworld Exporter资产定义文件详解
- Java版Crash Bandicoot资源库:逆向工程与源码分享
- Spring Boot Starter 自动IP计数功能实现指南
- 我的世界牛顿物理学模组深入解析
- STM32单片机工程创建详解与模板应用
- GDG堪萨斯城代码实验室:离子与火力基地示例应用
- Android Capstone项目:实现Potlatch服务器与OAuth2.0认证
- Cbit类:简化计算封装与异步任务处理
- Java8兼容的FullContact API Java客户端库介绍