単純な Java for ループを考えてみましょう。
for (int x = 0; x < bigArray.size(); x++ ) {
Someobject object = (Someobject) bigArray.get(x);
process(object);
}
private void process(Someobject object) {
Someobject newobject = moreProcessing(object);
bigArray.add(newobject);
}
私の観察では、追加のオブジェクトを bigArray の最後に追加していて、bigArray が絶えず大きくなっているにもかかわらず、for ループが終了します。これは、for ループが始まる前に JRE がテスト条件 (この場合は x < bigArray.size()) の値を修正し、この値を更新しないためでしょうか?