在本教程中,我们将解决Kotlin中的一个常见问题:ConcurrentModificationException。这通常发生在我们尝试在迭代集合的同时修改它,这是并发编程中的一个常见陷阱。
这种异常可能会令人沮丧,特别是当我们不确定是什么导致了它或如何修复它时。让我们探讨这种异常的根本原因,以及最重要的是,一些避免在代码中出现它的策略。
_ConcurrentModificationException_通常在尝试在迭代过程中修改集合时抛出:
val numbers = mutableListOf(1, 2, 3, 4, 5)
assertThrows`<ConcurrentModificationException>` {
for (item in numbers) {
if (item == 3) {
numbers.remove(item)
}
}
}
大约 4 分钟