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
Tôi đã tự hỏi, tại sao đối tượng Đệm và Danh sách có thể được so sánh với kết quả của sự thật?Tại sao các đối tượng Bộ đệm và Danh sách bằng nhau (thậm chí chúng là từ các lớp khác nhau)?
Tôi luôn nghĩ rằng, bởi vì chúng đến từ các lớp khác nhau, chúng có là sai khi so sánh. Ai đó có thể giải thích cho tôi, tại sao nó được thực hiện theo cách này?
Ngoại trừ 'Danh sách (1, 2, 3) == Mảng (1, 2, 3)' trả về 'sai'! 'Array' là một trường hợp đặc biệt, do thực tế rằng phương thức' == 'trên' Array' là phương thức Java nguyên gốc, không tuân theo logic bộ sưu tập Scala tổng thể. Ngoài ra, trong liên kết mà bạn đang trỏ đến, văn bản hiện nói 'Danh sách (1, 2, 3) == Vector (1, 2, 3)'. Tôi đã chỉnh sửa câu trả lời của bạn để sửa lỗi này. – ebruchez