Rumah >Java >javaTutorial >ConcurrentModificationException di Java dengan contoh
ConcurrentModificationException
Berikut adalah contoh pengecualian:
ConcurrentModificationException
pengecualian ini biasanya berlaku apabila:
<code class="language-java">Exception in thread "main" java.util.ConcurrentModificationException at java.base/java.util.ArrayList$Itr.checkForComodification(ArrayList.java:000) at java.base/java.util.ArrayList$Itr.next(ArrayList.java:000) at com.journaldev.ConcurrentModificationException.ConcurrentModificationExceptionExample.main(ConcurrentModificationExceptionExample.java:00)</code>Pengesanan dan lelaran pengecualian tidak ditakrifkan dalam kaedah
.
modCount
ConcurrentModificationException
Algoritma ini menunjukkan cara menghasilkan pengecualian dalam persekitaran Java. Kami akan menulis beberapa kod Java untuk meneroka beberapa penyelesaian.
java.util.ConcurrentModificationException
ConcurrentModificationException
sintaks berikut menunjukkan cara menghasilkan pengecualian dalam persekitaran Java:
ConcurrentModificationException
sintaks di atas menunjukkan cara menghasilkan
<code class="language-java">// ... (代码片段省略,与原文类似,但使用更简洁的变量名和注释) ...</code>
ConcurrentModificationException
Penyelesaian
Kaedah 1: Ubah suai semasa proses lelaran
<code class="language-java">for (Iterator<integer> iterator = integers.iterator(); iterator.hasNext();) { Integer integer = iterator.next(); if(integer == 2) { iterator.remove(); // 使用迭代器的remove()方法安全地移除元素 } }</integer></code>Kaedah 2: Gunakan Iterator
next()
remove()
Kaedah ini menggunakan kaedah iterator.next()
Kesimpulan
Pengecualian biasanya berlaku apabila koleksi diubahsuai serentak. Artikel ini menerangkan bagaimana untuk mengelakkan pengecualian ini dan menyediakan contoh kod Java yang sepadan. Pengecualian ini dapat dielakkan dengan berkesan menggunakan kelas pengumpulan thread-selamat seperti
atau ConcurrentModificationException
, serta kaedah CopyOnWriteArrayList
Iterator. ConcurrentHashMap
Atas ialah kandungan terperinci ConcurrentModificationException di Java dengan contoh. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!