scala case类的相等函数有什么作用?

时间:2015-08-06 20:18:13

标签: scala case-class

根据this,Scala案例类自动生成相等方法。但是:

<ion-item>

那么,这自动生成的等于方法呢?

1 个答案:

答案 0 :(得分:3)

它不是案例类。这是案例类:

this.Person

scala> case class SomeCaseClass(string: String) defined class SomeCaseClass scala> val a = "123" a: String = 123 scala> SomeCaseClass(a) == SomeCaseClass(a) res1: Boolean = true 只是==

的语法糖

在您的示例中,您刚刚在常规对象上调用equals(您将equals获得相同的结果)(此===不会自动生成) ,所以它检查了参考平等。

P.S。您可能会注意到案例类不需要equals,因为它自动生成了伴随对象。它在构造函数中不需要new,因为它默认采用它。 <{1}}对于常规和案件分类都不是强制性的。