import java.util.*;public class ListTest {
public static void main(String[] args){
List<Integer> list=new LinkedList<Integer>();
list.add(1);
list.add(4);
list.add(-4);
for(Iterator it=list.iterator();it.hasNext();){
Integer i=it.next(); //此处报错
System.out.println(i);
}
}
}错误提示是:无法将Object对象转为Integer对象。
我认为:在声明list对象时已经用<Integer>方法将放入list中的对象限定为Integer了,可是为什么还是会有错呢???
public static void main(String[] args){
List<Integer> list=new LinkedList<Integer>();
list.add(1);
list.add(4);
list.add(-4);
for(Iterator it=list.iterator();it.hasNext();){
Integer i=it.next(); //此处报错
System.out.println(i);
}
}
}错误提示是:无法将Object对象转为Integer对象。
我认为:在声明list对象时已经用<Integer>方法将放入list中的对象限定为Integer了,可是为什么还是会有错呢???
import java.util.*;public class ListTest {
public static void main(String[] args){
List<Integer> list=new LinkedList<Integer>();
list.add(1);
list.add(4);
list.add(-4);
for(Iterator it=list.iterator();it.hasNext();){
Integer i=(Integer)it.next(); //此处报错
System.out.println(i);
}
}
}
Integer i=(Integer)it.next();
加个强制类型转换就行了