java中equal 在自定义类中如何实现

avatar
作者
猴君
阅读量: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()方法,比较了nameage属性是否相等。需要注意的是,一般情况下需要同时重写hashCode()方法,确保在使用集合类时对象的hash值一致。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!