覆写类equals方法
override def equals(other:Any):Boolean={
true/false
}
图书馆借书
如何判断两条记录是不是一个同学借的?
//约定:两个人的名字一样,就是一个人!就是相等的!!
class Stu(var name:String){
//override:改写,覆写,重写。把之前的覆盖掉
override def equals(obj: Any): Boolean = {
println("equals.......")
//两个对象相等:类型要相等&&名字要相等
if (obj!=null&&obj.getClass==this.getClass) {
// true
// name==待比较的对象的名字
//格式转换
val p=obj.asInstanceOf[Stu]
println("equals.......",name,p.name)
name==p.name
}else{
false
}
}
}
object TestClassEqual {
def main(args: Array[String]): Unit = {
var s1=new Stu("小花")
var s2=new Stu("小花")
var s3=new Stu("小花花")
println(s1==s2)//在两个对象用===时,会自动去调用类中的equals方法
println(s1==s3)
println(s1==100)
}
标签:name,Scala,覆写,s1,equals,var,Stu,println
From: https://blog.csdn.net/Betty_at/article/details/142523681