在使用foreach遍历list时候,可以修改元素,但是不能替换list中的元素,示例如下:
List<O> oList = new ArrayList<O>();
for (int i = 0; i < 10; i++) {
oList.add(new O());
}
for (O o : oList) {
o.setI(2);
}
System.out.println(oList);
for (O o : oList) {
o = new O();
}
System.out.println(oList);
输出:
[O [i=2], O [i=2], O [i=2], O [i=2], O [i=2], O [i=2], O [i=2], O [i=2], O [i=2], O [i=2]]
[O [i=2], O [i=2], O [i=2], O [i=2], O [i=2], O [i=2], O [i=2], O [i=2], O [i=2], O [i=2]]