Java

如何重写Java中的equals()方法

小樊
85
2024-08-16 08:51:37
栏目: 编程语言

要重写Java中的equals()方法,需要按照以下步骤进行:

  1. 检查传入的参数是否为null,如果是null则返回false。
  2. 检查传入的参数是否为与当前对象相同的实例,如果是则直接返回true。
  3. 使用instanceof关键字检查传入的参数是否为与当前对象相同的类,如果不是则返回false。
  4. 将传入的参数强制类型转换为当前对象的类型。
  5. 比较当前对象的各个属性与传入参数对象的对应属性是否相等,如果全部相等则返回true,否则返回false。

以下是一个示例:

public class Student {
    private String name;
    private int age;

    // getters and setters

    @Override
    public boolean equals(Object obj) {
        if (this == obj) {
            return true;
        }
        if (obj == null || getClass() != obj.getClass()) {
            return false;
        }

        Student student = (Student) obj;

        return age == student.age && Objects.equals(name, student.name);
    }
}

在上面的示例中,重写了Student类的equals()方法,首先判断传入的参数是否为null或者与当前对象相同的实例,然后将传入的参数转换为Student类型,最后比较name和age属性是否相等。

0
看了该问题的人还看了