scala case类相等函数的作用是什么?
根据,Scala案例类自动生成一个相等方法。然而:scala case类相等函数的作用是什么?,scala,case-class,Scala,Case Class,根据,Scala案例类自动生成一个相等方法。然而: class SomeCaseClass(val string:String) {} val a = "123" assertTrue( a.equals( a ) ) // Passes assertTrue( new SomeCaseClass(a).equals( new SomeCaseClass(a) ) ) // Fails, Scala 2.10 那么,这个自动生成的equals方法做什么呢?它不是一个case类。这就是案例类
class SomeCaseClass(val string:String) {}
val a = "123"
assertTrue( a.equals( a ) ) // Passes
assertTrue( new SomeCaseClass(a).equals( new SomeCaseClass(a) ) ) // Fails, Scala 2.10
那么,这个自动生成的equals方法做什么呢?它不是一个case类。这就是案例类:
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
(您将得到与===
相同的结果)(此equals
不是自动生成的),因此它只检查了引用相等
另外,您可能会注意到case类不需要
new
,因为它已经自动生成了伴生对象。它不需要构造函数中的val
,因为默认情况下它是假定的{}
对于常规类和case类都不是必需的。它不是case类。这就是案例类:
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
(您将得到与===
相同的结果)(此equals
不是自动生成的),因此它只检查了引用相等
另外,您可能会注意到case类不需要
new
,因为它已经自动生成了伴生对象。它不需要构造函数中的val
,因为默认情况下它是假定的{}
对于常规类和case类都不是必需的。它不是case类。这就是案例类:
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
(您将得到与===
相同的结果)(此equals
不是自动生成的),因此它只检查了引用相等
另外,您可能会注意到case类不需要
new
,因为它已经自动生成了伴生对象。它不需要构造函数中的val
,因为默认情况下它是假定的{}
对于常规类和case类都不是必需的。它不是case类。这就是案例类:
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
(您将得到与===
相同的结果)(此equals
不是自动生成的),因此它只检查了引用相等
另外,您可能会注意到case类不需要
new
,因为它已经自动生成了伴生对象。它不需要构造函数中的val
,因为默认情况下它是假定的<代码>{}对于普通类和案例类都不是强制性的。你在类之前缺少案例
?你在类之前缺少案例
?你在类之前缺少案例
?你在类之前缺少案例
?@user48956英雄联盟我感觉自己就像是船长:)@user48956哈哈!我感觉自己就像是船长:)@user48956哈哈!我感觉自己就像是船长:)@user48956哈哈!我感觉自己就像队长一样:)