共计 782 个字符,预计需要花费 2 分钟才能阅读完成。
在 Java 中,要判断两个对象是否相等,有两种方式:
- 使用
equals()
方法:所有的 Java 对象都继承自Object
类,Object
类中定义了一个equals()
方法,用于判断两个对象是否相等。默认情况下,equals()
方法会比较对象的内存地址,即判断两个对象是否引用同一个内存地址。如果要比较两个对象的内容是否相等,需要在自定义类中重写equals()
方法,并在方法中定义比较规则。一般情况下,重写equals()
方法还需要同时重写hashCode()
方法。
下面是一个示例,展示了如何重写 equals()
方法来比较两个 Person
对象的内容是否相等:
public class Person {
private String name;
private int age;
// 省略构造方法和其他方法
@Override
public boolean equals(Object obj) {if (this == obj) {return true;}
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);
}
}
- 使用
==
运算符:==
运算符用于比较两个对象的内存地址是否相等,即判断两个对象是否引用同一个内存地址。如果两个对象引用的是同一个内存地址,则==
运算符返回true
,否则返回false
。
需要注意的是,如果要比较两个对象的内容是否相等,应该使用 equals()
方法而不是 ==
运算符。因为 ==
运算符比较的是内存地址,而不是对象的内容。
丸趣 TV 网 – 提供最优质的资源集合!
正文完