斯卡拉 |等于
Equals是一个特征,它是一个包含相等功能的链接。它扩展了类Any 。这里的线性超类型是 Any,这里的子类是 Product、Product1、Product2 等等。
抽象值成员
这里的抽象值成员是:
abstract def canEqual(that: Any): Boolean
如果指定的实例相等,则返回 true。
例子 :
// Scala program of trait
// Equals
// Creating a case class of
// employee
case class Employee (name:String, age:Int)
// Creating object
object Main
{
// Main method
def main(args: Array[String])
{
// Creating objects
var c = Employee("Nidhi", 23)
var d = Employee("Nidhi", 23)
var e = Employee("Nidhi", 25)
// Displays true if instances
// are equal else false
println(c.canEqual(d))
println(c.canEqual(e))
}
}
输出:
true
true
在这里,我们使用了canEqual方法来证明实例的相等性。
例子 :
// Scala program of trait
// Equals
// Creating a case class of
// Name
case class Name (firstname:String, lastname:String)
// Creating object
object Main
{
// Main method
def main(args: Array[String])
{
// Creating objects
var x = Name("Nidhi", "Singh")
var y = Name("Nidhi", "Singh")
var z = Name("Geeta", "Sharma")
// Displays true if instances
// are equal else false
println(x.equals(y))
println(x.equals(z))
println(y==z)
}
}
输出:
true
false
false
在这里,我们使用方法equals和==来检查相等性。