0

我听说在迭代中更改您正在迭代的列表并不是一种好的风格。

示例(伪代码):

for (int i = 0; i < someList.length(); i++) {
  someList.getAt(i).doSomething();
}

这是为什么?会不会有什么副作用?

4

2 回答 2

0

复印一份。改变它,围绕原来的迭代。

否则迭代器将不知道所做的更改。更多在这里:

迭代时修改列表

于 2012-09-17T21:20:09.807 回答
0

像这样的东西会更好。

for_each(E item in somelist)
{
     item.doSomeThing();
}

E/Item 可以是任何东西(客户、整数、双打)

于 2012-09-17T21:20:54.593 回答