重写的对象比较方法equals
例:
public boolean equals(Object obj)
return this.name.equals(p.name)&&this.age==p.age;
}
this表示本对象,比如你这样调用equals函数:stu1.equals(stu2),this就表示stu1。
this == obj是直接使用 == 进行比较 == 的判断标准是只有2个对象都是引用的相同对象才相等。
而如果二者是不同的对象,equals还想通过比较两个对象的name和age的方式判断是否是相等的,如果两个对象是相同的类型并且name和age相等,也认为两个对象相等。
这段代码就是这个作用的。
也可以这么理解:
stu.name.equals(this.name)
//句等同于
String name = stu.name;
name.equals(this.name)
//对象stu的属性name所属的类型(应该为String)有equals方法

本文深入探讨了在Java中重写equals方法的细节,解释了如何通过比较对象的特定属性来判断两个对象是否相等,而不是简单地比较它们的引用。通过具体的代码示例,阐述了equals方法的工作原理和正确实现的重要性。
429

被折叠的 条评论
为什么被折叠?



