首页 > 代码库 > 快学Scala 第十三课 (类型层级,对象相等性)
快学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 第十三课 (类型层级,对象相等性)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。