如何判断两个对象是否相等用java实现
时间: 2023-07-04 18:24:21 浏览: 79
在 Java 中,可以通过重写 equals() 方法来判断两个对象是否相等。下面是一个示例代码:
```java
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 person.name.equals(this.name) && person.age == this.age;
}
}
```
在上面的代码中,我们重写了 equals() 方法来比较两个 Person 对象的内容是否相等。在比较时,先判断 obj 是否为当前对象,如果是则直接返回 true。然后判断 obj 是否是 Person 类型的对象,如果不是则返回 false。最后,比较两个 Person 对象的属性值是否相等,如果都相等则返回 true,否则返回 false。
当我们需要比较两个 Person 对象是否相等时,可以直接调用 equals() 方法:
```java
Person p1 = new Person("Tom", 20);
Person p2 = new Person("Tom", 20);
System.out.println(p1.equals(p2)); // true
```
在上面的例子中,p1 和 p2 对象的内容相同,因此调用 equals() 方法返回 true。