集合可以存储任何类型的对象,但是当把一个对象存入集合后,集合会“忘记”这个对象的类型,将该对象从集合中取出时,这个对象的编译类型就变成了Object类型。换句话说,在程序中无法确定一个集合中的元素到底是什么类型的。那么在取出元素时,如果进行强制类型转换就很容易出错。
package test;
import java.util.ArrayList;
public class test1 {
public static void main(String[] args) {
ArrayList list=new ArrayList();
list.add("string");
list.add("collection");
list.add(1);
for(Object obj:list){
String str=(String) obj;
System.out.println(str);
}
}
}
package test;
import java.util.*;
public class test2 {
public static void main(String[] args) {
ArrayList<String> list=new ArrayList();
list.add("string");
list.add("collection");
list.add(1);
for(String str:list){
System.out.println(str);
System.out.println(str);
}
}
}