Scala 中重写 equals 方法实现对象自定义相等性判断示例

13 阅读1分钟
package level02

object class04 {
  class Student (val id:String ,val name:String,val age:Int) {
    override def equals(obj: Any): Boolean = {
      println(s"比较是否相等...${this.id},${this,name},")
      val other = obj.asInstanceOf[Student]
      this.id == other.id && this.name == other.name


    }
  }

  def main(args: Array[String]): Unit = {
    val stu1 = new Student("2024101001","小花",18)
    val stu2 = new Student("2024101001","小名",19)
    if(stu1 == stu2){
      println("他们是同一个人")
    }else{
      println("不是同一个人")
    }
  }
}