【发布时间】:2013-10-08 23:29:40
【问题描述】:
我有一个应用程序在 scala.collection.immutable.Map 中使用相同的键进行连续查找,这会导致返回两个不同的引用。类似于以下内容:
val v1 = m(key)
val v2 = m(key)
require(v1 eq v2) // fails!
我无法在一个小示例中重现此行为,我想知道是否有任何情况可以合理/预期。该应用程序是单线程的,我通过一个接一个地进行查找来隔离问题。
【问题讨论】:
-
你有并发吗?你有副作用
hashcode或equals方法吗? -
应用程序是顺序的(无并发)。
hashcode是Intval(每个对象唯一),equals比较hashcode的值。
标签: scala map reference immutability