我想知道为什么我不能从列表中删除元素,当我使用 foreach 循环迭代它时:
List<Object> objects = new ArrayList<Object>();
Object one = new Object();
Object two = new Object();
Object three = new Object();
objects.add(one);
objects.add(two);
objects.add(three);
然后删除以下元素:
foreach(Object o : objects){
objects.remove(three); //I know that o is my current object
}
似乎 foreach 循环不允许删除循环队列中“仍然”的对象。我对么?
为什么 for-int-loop 不关心这个?在这个循环中,我可以轻松删除仍在循环中的对象。
谢谢