泛型:
由于集合中什么类型的元素都可以存储,导致取出时,如果出现强转就会发生ClassCastException异常,为了解决这个问题,使用集合时,必须明确指出集合中元素的类型,这种方式称为:泛型。(JDK1.5出现的安全机制--->泛型<>,指明集合中存储的数据类型);
Java中的泛型属于“伪泛型”,通过“编译手段”,只是为了实现程序编译通过,实际中运行程序.class文件没有泛型;恰恰这个”编译手段“保证了数据的安全性;
测试代码:
package com.yikuan.test; import java.util.ArrayList; import java.util.Collection; import java.util.Iterator; public class Test2 { public static void main(String[] args) { Collection coll = new ArrayList(); coll.add("assfdaas"); coll.add("qweqweqwesa"); coll.add("fdgdgdfg"); coll.add("werwerwerty"); coll.add("fgnvbnbvn"); coll.add(1);/*int类型自动装箱成Integer引用类型*/ Iterator it = coll.iterator(); while(it.hasNext()){ // Object d = it.next(); // System.out.println(d); String next = (String)it.next();/*Object类型向下转型成Integer类型*/ System.out.println(next); } } }
结果: