ArrayList 的 ConcurrentModificationException
考慮以下程式碼:
private String toString(List考慮以下程式碼:
執行時,此程式碼會觸發出現此異常的原因是,在使用 foreach 迴圈迭代 ArrayList 時修改 ArrayList 是不安全的。 要解決此問題,請將 foreach 循環替換為迭代器循環:for (Iterator<DrugStrength> it = aDrugStrengthList.iterator(); it.hasNext(); ) { DrugStrength aDrugStrength = it.next(); if (!aDrugStrength.isValidDrugDescription()) { it.remove(); } }An迭代器提供了一種在迭代 ArrayList 時從 ArrayList 中刪除元素的安全方法。它維護一個追蹤清單中目前位置的遊標,確保刪除元素不會影響迭代過程。
以上是為什麼在 For-Each 循環期間修改 ArrayList 會導致 ConcurrentModificationException?的詳細內容。更多資訊請關注PHP中文網其他相關文章!