【发布时间】:2016-05-31 04:41:36
【问题描述】:
几天前,我发现了 Paul Philip 的 gist https://gist.github.com/paulp/9085746,它表现出非常奇怪的行为。 我没有找到任何解释怎么可能
简化代码sn-p:
val buf = new ListBuffer[Int]()
buf ++= Seq(1,2,3)
val lst: List[Int] = buf.toIterable.toList
println(lst) //List(1,2,3)
buf ++= Seq(4,5,6)
println(lst) //List(1,2,3,4,5,6)
没有toIterable,它按预期工作
val buf = new ListBuffer[Int]()
buf ++= Seq(1,2,3)
val lst: List[Int] = buf.toList
println(lst) //List(1,2,3)
buf ++= Seq(4,5,6)
println(lst) //List(1,2,3)
那里发生了什么?
【问题讨论】:
标签: list scala immutability mutability