次のコードを検討してください。
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
使用するという印象を受けました。==
私は誤解しましたか?
バージョン: Scala-2-10-2