public boolean equals方法用在什么时候
时间: 2023-10-12 09:04:44 浏览: 97
public boolean equals方法一般用于比较两个对象是否相等。在Java中,使用"=="运算符比较两个对象时,会比较这两个对象在内存中的地址是否相同,而不是比较它们的内容是否相同。因此,如果我们需要比较两个对象的内容是否相同,需要使用equals方法。
equals方法的通用实现方式是,首先比较两个对象的类型是否相同,如果类型不同则返回false,如果类型相同再比较它们的内容是否相等。对于不同类型的对象,一般需要进行类型转换之后才能进行比较。
例如,我们可以编写一个Person类,并实现equals方法来比较两个Person对象的内容是否相等:
```
public class Person {
private String name;
private int age;
private String address;
public Person(String name, int age, String address) {
this.name = name;
this.age = age;
this.address = address;
}
@Override
public boolean equals(Object o) {
if (o == this) return true;
if (!(o instanceof Person)) return false;
Person p = (Person) o;
return name.equals(p.name) && age == p.age && address.equals(p.address);
}
}
```
在上面的例子中,我们重写了equals方法,并在其中比较了Person对象的三个属性,即name、age和address是否相等。如果三个属性都相等,则返回true,否则返回false。
使用equals方法的场景包括但不限于:
1. 比较两个对象是否相等,例如在集合类中的contains方法中使用;
2. 实现对象的哈希表等数据结构时需要使用equals方法来判断两个对象是否相等;
3. 在自定义类中重写equals方法,以便于比较对象的内容是否相等。
阅读全文