阅读量:0
在Java中,自定义类需要重写equals()
方法来实现对象的比较。equals()
方法用于比较两个对象是否相等,通常会根据对象的属性进行比较。以下是一个示例:
public class Person { private String name; private int age; // 构造方法 // getter 和 setter 方法 @Override public boolean equals(Object obj) { // 检查对象是否为同一个引用 if (this == obj) { return true; } // 检查对象是否为null或者类型不匹配 if (obj == null || getClass() != obj.getClass()) { return false; } // 强制类型转换 Person person = (Person) obj; // 比较属性 return age == person.age && Objects.equals(name, person.name); } @Override public int hashCode() { return Objects.hash(name, age); } }
上面的示例中,重写了equals()
方法,比较了name
和age
属性是否相等。需要注意的是,一般情况下需要同时重写hashCode()
方法,确保在使用集合类时对象的hash值一致。