重写hashcode和equals方法
时间: 2023-11-11 14:06:01 浏览: 91
重写hashCode()和equals()方法详细介绍
5星 · 资源好评率100%
重写hashcode和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 (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
Person person = (Person) o;
return age == person.age &&
Objects.equals(name, person.name);
}
@Override
public int hashCode() {
return Objects.hash(name, age);
}
}
```
在这个示例中,我们重写了equals和hashcode方法,使得两个Person对象只有当它们的名字和年龄都相同时才被视为相等。这样可以更好地实现对象比较和查找。
阅读全文