CASE#1-我有以下课程:
class Bear (val aName: String) {
def getName: String = aName
override def equals (a : Any) : Boolean = { println("Test Equals"); true}
}
Run Code Online (Sandbox Code Playgroud)
如果我运行以下代码,我会得到以下结果:
import scala.collection.mutable.HashSet
val bear1 = new Bear("Black")
val bear2 = new Bear("Black")
val setBears: HashSet[Bear] = HashSet (bear1,bear2)
println(setBears)
res: Set(scalaproj.Bear@7d4991ad, scalaproj.Bear@28d93b30)
Run Code Online (Sandbox Code Playgroud)
CASE#2-但是,当我将hashCode方法添加到类中时
class Bear (val aName: String) {
def getName: String = aName
override def equals (a : Any) : Boolean = { println("Test Equals"); true}
override def hashCode() = { println("Test …Run Code Online (Sandbox Code Playgroud)