码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2017-08-13 11:16:19      阅读:113      评论:0      收藏:0      [点我收藏+]

标签:rri   new   9.png   技术分享   class   java   方法   ase   类型   

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 第十三课 (类型层级,对象相等性)

标签:rri   new   9.png   技术分享   class   java   方法   ase   类型   

原文地址:http://www.cnblogs.com/AK47Sonic/p/7352474.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!