阅读量:0
要重写Java中的equals()方法,需要按照以下步骤进行:
- 检查传入的参数是否为null,如果是null则返回false。
- 检查传入的参数是否为与当前对象相同的实例,如果是则直接返回true。
- 使用instanceof关键字检查传入的参数是否为与当前对象相同的类,如果不是则返回false。
- 将传入的参数强制类型转换为当前对象的类型。
- 比较当前对象的各个属性与传入参数对象的对应属性是否相等,如果全部相等则返回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属性是否相等。