考慮下面的代碼:斯卡拉集合包含不使用==?
scala> case class Foo(s:String, t:String, r:String) {
| def == (f:Foo) = s == f.s && t == f.t
| }
defined class Foo
scala> val f1 = Foo("s", "t", "r")
f1: Foo = Foo(s,t,r)
scala> val f2 = Foo("s", "t", "r1")
f2: Foo = Foo(s,t,r1)
scala> f1 == f2
res24: Boolean = true
scala> Array(f1) contains (f2)
res25: Boolean = false
我的印象是,contains
使用==
如上所定義。我誤解了嗎?
版本:斯卡拉-2-10-2
所以可能更好的解決方案是不使用'case'類。 – Jus12
我會這麼說。 – drexin