package Generic;
import java.util.ArrayList;
import java.util.Iterator;
/*
* 泛型:
* 代码示例:ArrayList<String> al = new ArrayList<String>();
* 以上代码规定了该集合中只能存储String类型的数据
*
* 泛型的好处:
* 1.将运行时间出现的问题ClassCastException转换到了编译时期,方便于程序员解决问题,
* 2.避免了在迭代的时候强制转换的麻烦
*/
public class ArrayListFanXing {
public static void main(String[] args) {
//定义一下ArrayList集合,往该信里面存放不同长度我字符串对象
ArrayList al = new ArrayList();
al.add("java-1");
al.add("java-4ac");
al.add("java-7fawescwae");
//这句代码实际上就相当于 al.add(new Integer(4));因为在jdk1.5版本之后,有了自动装箱拆箱技术
al.add(4); //java.lang.ClassCastException会抛出该义异常,类型转换异常
//使用泛型可以解决以上问题,JDK1.5版本以扣出现的新特性,用于解决安全问题,是一个安全机制
ArrayList<String> al2 = new ArrayList<String>(); //规定该集合中只能存储String类型的数据
//通过迭代器取出集合中的内容
Iterator it = al.iterator();
while(it.hasNext()){
String value = (String)it.next();
//打印出元素的名称和长度
System.out.println(value+":"+value.length());
}
}
}