我在Scala中使用一些简单的数据结构和集合,我注意到我认为是奇怪的行为.这是对象:
class State (protected val trackmap: Map[Int, List[String]]) {
override def clone : State = {
new State(Map() ++ trackmap)
}
override def toString = { "State: " + trackmap.toString }
def equals (other: State) : Boolean = {
//println("Comparing " + trackmap + " to " + other.trackmap)
trackmap == other.trackmap
}
def == (other: State) : Boolean = {
this equals other
}
}
Run Code Online (Sandbox Code Playgroud)
我的相关测试:
test("state equality") {
val state = new State( Map(1 -> List("engine"), 2 -> …Run Code Online (Sandbox Code Playgroud)