scala> import scala.collection.mutable.Buffer
import scala.collection.mutable.Buffer
scala> val b = Buffer(1, 2, 3)
b: scala.collection.mutable.Buffer[Int] = ArrayBuffer(1, 2, 3)
scala> val l = List(1, 2, 3)
l: List[Int] = List(1, 2, 3)
scala> b == l
res1: Boolean = true
我想知道,爲什麼Buffer和List對象可以與true的結果進行比較?爲什麼Buffer和List對象相等(即使它們來自不同的類)?
我一直以爲,那是因爲他們來自不同的班級,他們有比較是假的。有人可以解釋我,爲什麼這樣實施?
除了'List(1,2,3)== Array(1,2,3)'返回'false'! Array是一種特殊情況,因爲'Array'上的'=='方法是本地Java方法,它不遵循整個Scala集合邏輯。另外,在你指向的鏈接中,文本現在說'List(1,2,3)== Vector(1,2,3)'。我編輯了你的答案來解決這個問題。 – ebruchez