[英]scala MutableList when foreach add element why not throw Exception
當我嘗試scala列表時,我發現了一個問題。 當我使用MutableList時,只想嘗試在foreach中附加一個元素(我知道這是一個錯誤的操作):
import scala.collection.mutable.MutableList
val tts = MutableList("Hello World~")
tts.foreach { t =>
tts += "Hello World~"
println(t)
}
控制台輸出:
Hello World~
Hello World~
我的問題是,為什么上面的代碼不拋出ConcurrentModificationException
或正常輸出?
在迭代期間將ConcurrentModificationException
拋出修改時,通常稱為快速失敗語義。 Scala集合類通常不會拋出ConcurrentModificationException
因為:
由於這個原因,Scala僅記錄了不允許進行並發修改,而不是努力實現快速失敗並以泄漏抽象告終。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.