泛型

来源:互联网 发布: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());
}
}


}