📅  最后修改于: 2023-12-03 15:02:07.078000             🧑  作者: Mango
在Java中,Object类提供了默认的equals方法,但该方法比较的是对象的引用,而不是对象的属性值。如果需要比较两个对象的属性值,就需要重写equals方法。
重写equals方法时,需要遵守以下规则:
通常情况下,可以按照以下步骤来重写equals方法:
public class Person {
private String name;
private int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
@Override
public boolean equals(Object o) {
if (o == null) {
return false;
}
if (this == o) {
return true;
}
if (getClass() != o.getClass()) {
return false;
}
Person p = (Person) o;
return this.age == p.age && Objects.equals(this.name, p.name);
}
}
在上面的例子中,我们创建了一个Person类,并重写了它的equals方法。在比较两个Person对象时,我们只需要比较它们的name和age属性值是否相等即可。
重写equals方法是Java面向对象编程的重要内容之一,在实际开发中常常用到。通过本文的介绍,我们学习了重写equals方法的步骤和规则,并且通过实例编写了一个重写了equals方法的Person类。希望本文能对Java程序员们有所帮助。