泛型
来源:互联网 发布:cf老是网络出现异常23 编辑:程序博客网 时间:2024/06/10 09:09
import java.util.*;
/*
泛型:JDK1.5版本之后出现的新特性。用于解决安全问题是一个安全机制
好处
1、将运行时期出现的问题ClassCastException,转移到编译时期;
方便程序员解决问题,让运行问题减少,安全。
2避免了强制转换麻烦
泛型格式:通过<>来定义要操作的引用数据类型。
在使用java提供的对象时,什么时候写泛型呢?
通常在集合框架中很常见,只要见到<>就要定义泛型。
其实<>就是用来接收类型的。
当时使用集合时,将集合中要存储的数据类型作为参数传递到<>中即可。
*/
public class GenericDemo {
public static void main(String[] args) {
ArrayList<String> al = new ArrayList<String>();
al.add("sdfa");
al.add("sd1222");
al.add("sd13");
al.add("sd091231");
/*
* al.add(4);//加上这句,如果上面不声明是泛型,即ArrayList集合al中的对象集合不是String型,
* 编译时不提示错误,运行时会报类型转换异常: java.lang.ClassCastException: java.lang.Integer
* cannot be cast to java.lang.String
*/
Iterator<String> it = al.iterator();
while (it.hasNext()) {
System.out.println(it.next());
}
}
}
/*
泛型:JDK1.5版本之后出现的新特性。用于解决安全问题是一个安全机制
好处
1、将运行时期出现的问题ClassCastException,转移到编译时期;
方便程序员解决问题,让运行问题减少,安全。
2避免了强制转换麻烦
泛型格式:通过<>来定义要操作的引用数据类型。
在使用java提供的对象时,什么时候写泛型呢?
通常在集合框架中很常见,只要见到<>就要定义泛型。
其实<>就是用来接收类型的。
当时使用集合时,将集合中要存储的数据类型作为参数传递到<>中即可。
*/
public class GenericDemo {
public static void main(String[] args) {
ArrayList<String> al = new ArrayList<String>();
al.add("sdfa");
al.add("sd1222");
al.add("sd13");
al.add("sd091231");
/*
* al.add(4);//加上这句,如果上面不声明是泛型,即ArrayList集合al中的对象集合不是String型,
* 编译时不提示错误,运行时会报类型转换异常: java.lang.ClassCastException: java.lang.Integer
* cannot be cast to java.lang.String
*/
Iterator<String> it = al.iterator();
while (it.hasNext()) {
System.out.println(it.next());
}
}
}
- 泛型
- 泛型
- 泛型
- 泛型
- 泛型
- 泛型
- 泛型
- 泛型
- 泛型
- 泛型
- 泛型
- 泛型
- 泛型
- 泛型
- 泛型
- 泛型
- 泛型
- 泛型
- Chrome学习之LazyInstance
- ASP.NET【2】
- poj 3340 Segments(计算几何,直线跟线段的交点)
- 使用GruntJS链接与压缩多个JavaScript文件
- 3的方幂以及3的不同方幂的和排列成一个递增序列{1,3,4,9,10,12,13...}.写出第300项数字.
- 泛型
- Mysql数据库备份还原 MySQL server has gone away
- CPUID——检测CUP信息及程序的实现
- UVA 11987 Almost Union-Find(并查集)
- uva 10420 - List of Conquests
- android 不让edittext自动获取焦点
- UML中的六大关系
- mysql backup script
- LigerUi中的Grid中不分页显示(local)!