【发布时间】:2014-08-24 17:48:12
【问题描述】:
我有下面的代码,我希望它会抛出一个ConcurrentModificationException,但它运行成功。为什么会这样?
public void fun(){
List <Integer>lis = new ArrayList<Integer>();
lis.add(1);
lis.add(2);
for(Integer st:lis){
lis.remove(1);
System.out.println(lis.size());
}
}
public static void main(String[] args) {
test t = new test();
t.fun();
}
【问题讨论】:
-
为什么会抛出这个错误? ArrayList.remove() 不会抛出那个错误,只是索引越界。
-
psssst!....你从来没有看到我对这个问题的回答:)