快学Scala 第十三课 (类型层级,对象相等性)

Posted AK47Sonic

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了快学Scala 第十三课 (类型层级,对象相等性)相关的知识,希望对你有一定的参考价值。

Scala 类型层级:

对象相等性:

和Java一样要重写equals方法和hashcode方法

class Student(val id: Int, val name: String) {
  override def equals(other: Any) = {
    val that = other.asInstanceOf[Student]
    if (that == null) false
    else id == that.id && name == that.name
  }

  override def hashCode = 13 * id.hashCode() + 17 * name.hashCode()

}


object TestCase {
    def main(args: Array[String]): Unit = {
    
      val s1 = new Student(1,"Sky")
      val s2 = new Student(1,"Sky")
      
      println(s1.equals(s2))
      println(s1 == (s2))
  
  }
  
}

返回结果:

true

true

 

以上是关于快学Scala 第十三课 (类型层级,对象相等性)的主要内容,如果未能解决你的问题,请参考以下文章

快学Scala 第三课 (定长数组,变长数组, 数组循环, 数组转换, 数组常用操作)

快学Scala 第十七课 (trait 入门)

python第十三课——嵌套循环

Asp.Net Web API 2第十三课——ASP.NET Web API中的JSON和XML序列化

第十三课类族的结构进化-------------------狄泰软件学院

C++探索之旅第一部分第十三课:第一部分小测验