Java 中 equals() 方法的使用方法
本文介绍了 Java 中 equals() 方法的用法,包括其作用、参数和注意事项。
Java 中的 equals() 方法是 Object 类中的方法,用于比较两个对象的值是否相等。该方法的默认实现是比较两个对象的引用地址,如果引用地址相等,则返回 true,否则返回 false。
在 Java 中,如果需要比较两个对象的值是否相等,通常需要覆盖 equals() 方法。覆盖 equals() 方法时,需要遵守以下规则:
1. 自反性:如果两个对象相等,则 equals() 方法应该返回 true。
2. 对称性:如果对象 A 等于对象 B,则对象 B 也应该等于对象 A。
3. 传递性:如果对象 A 等于对象 B,且对象 B 等于对象 C,则对象 A 也应该等于对象 C。
4. 空值比较:如果一个对象为 null,则 equals() 方法应该返回 false。如果两个对象都为 null,则 equals() 方法应该返回 true。
5. 避免重复计算:如果 equals() 方法的计算成本很高,应该避免在循环中多次调用。
equals()方法 下面是一个覆盖 equals() 方法的示例代码:
```java
public class Person implements Comparable<Person> {
private String name;
private int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
@Override
public boolean equals(Object o) {
if (o == this) {
return true;
}
if (o instanceof Person) {
Person other = (Person) o;
return other.name.equals(name) && other.age == age;
}
return false;
}
}
```
在上面的代码中,Person 类实现了 Comparable 接口,并覆盖了 equals() 方法。在 equals() 方法中,首先比较对象的引用地址,如果相等,则返回 true。如果不相等,则比较对象的类型,如果对方也是 Person 对象,则比较 name 和 age 字段是否相等。如果对方不是 Person 对象,则返回 false。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论