理解 Java 中的对象相等性
Java 中为了比较两个对象的相等性,经常使用 equals 方法。在所描述的场景中,目标是重写具有姓名和年龄字段的 People 类的 equals 方法,以方便 People 对象之间的比较。
提出的初始实现对年龄字段使用 equals 方法,该方法是整数类型。然而,正如所指出的, equals 方法是专门为比较 String 对象而设计的。
解决方案:比较整数字段
要比较整数字段,建议使用使用 == 运算符代替 equals 方法。 == 运算符直接比较原始数据类型的值,而不是调用 equals 方法。
正确实现 Equals
equals 方法的正确实现People 类应如下所示:
@Override public boolean equals(Object obj) { if (obj == null) { return false; } if (obj.getClass() != this.getClass()) { return false; } final People other = (People) obj; if ((this.name == null) ? (other.name != null) : !this.name.equals(other.name)) { return false; } if (this.age != other.age) { return false; } return true; }
在此实现:
以上是如何正确重写 Java 中对象比较的 equals 方法?的详细内容。更多信息请关注PHP中文网其他相关文章!