泛型:在定义集合的时候同时定义集合中对象的类型。
产生由于:
1.装入容器的类型都被当作Object对待,从而失去自己的实际类型;
2.容器中取出时往往需要转型,效率低,易出错。
public class GenericTest {
public static void main(String[] args) {
List<String> l1 = new ArrayList<String>();//定义Collection时指定
l1.add("wo");
l1.add("ni");
l1.add("ta");
for(int i=0;i<l1.size();i++){
String s = l1.get(i);//l1.get(i)不需要转型,不用泛型时,get返回值为Object类型
System.out.println(s);
}
Collection<String> c = new HashSet<String>();//定义Collection时指定
c.add("shi");
c.add("jie");
c.add("hen");
c.add("da");
for(Iterator<String> i=c.iterator();i.hasNext();){//在循环时用Iterator指定
String s = i.next();//i.next()不需要转型
System.out.println(s);
}
}
}