泛型

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());
		}
	}
}

  

posted on 2013-07-27 20:03  樱花满天  阅读(131)  评论(0)    收藏  举报

导航