equals是干嘛的
时间: 2023-11-30 15:42:59 浏览: 68
DAL.rar_equals
Java中的equals()方法是用于比较两个对象是否相等的方法。在Java中,所有的类都继承自Object类,而Object类中的equals()方法是比较两个对象的引用是否相等,即比较两个对象是否是同一个对象。如果我们需要比较两个对象的内容是否相等,就需要重写equals()方法。
在重写equals()方法时,我们需要注意以下几点:
1. equals()方法必须具有对称性,即a.equals(b)与b.equals(a)的结果应该相同。
2. equals()方法必须具有传递性,即a.equals(b)为true,b.equals(c)为true,则a.equals(c)也应该为true。
3. equals()方法必须具有一致性,即多次调用equals()方法,结果应该相同。
4. equals()方法必须与hashCode()方法一致,即如果两个对象相等,它们的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 obj) {
if (obj == this) {
return true;
}
if (!(obj instanceof Person)) {
return false;
}
Person person = (Person) obj;
return this.name.equals(person.name) && this.age == person.age;
}
}
```
在这个例子中,我们重写了equals()方法,比较了两个Person对象的name和age属性是否相等。
阅读全文