ConcurrentModificationException berlaku apabila ArrayList dilalui (diulang semula) dan diubah suai pada masa yang sama. Artikel ini meneroka amalan terbaik untuk mengendalikan pengecualian ini, menggariskan pendekatan alternatif.
Mengelakkan Pengecualian Pengubahsuaian Serentak
Untuk mengelakkan pengecualian daripada berlaku, dua pilihan tersedia:
Contoh Kaedah Alih Keluar Iterator:
Pertimbangkan senario mengalih keluar rentetan dengan panjang lebih besar daripada 5 daripada ArrayList:
<code class="java">List<String> list = new ArrayList<>(); ... for (Iterator<String> iterator = list.iterator(); iterator.hasNext(); ) { String value = iterator.next(); if (value.length() > 5) { iterator.remove(); } }</code>
Dalam contoh ini, kaedah "alih keluar" pengubah digunakan untuk mengubah suai senarai asal dengan selamat semasa mengulanginya.
Atas ialah kandungan terperinci Bagaimana untuk Mengelakkan ConcurrentModificationException Apabila Mengulang dan Mengubah Suai ArrayList?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!