Equals是Java中用于比较对象的方法,常用于判断两个对象是否相等。在Java中,我们可以通过两种方式来使用Equals:覆写Equals方法和使用Objects类中的equals方法。
覆写Equals方法是指在一个类中自定义其equals方法,这样可以根据实际需求来自定义比较方式。
Java中的Equals方法遵循以下约定:
下面是一个覆写Equals方法的示例:
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(name) && person.age == age;
}
}
在这个示例中,我们覆写了Equals方法,实现了按照名字和年龄来比较两个Person对象是否相等。
Java中的Objects类提供了一个equals方法,我们可以使用这个方法来比较两个对象是否相等。
下面是一个使用Objects类中的equals方法的示例:
import java.util.Objects;
public class Person {
private String name;
private int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
// 省略getter、setter方法以及toString方法
@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);
}
}
在这个示例中,我们使用了Objects类中的equals方法和hashCode方法,这样可以保证我们的代码能够正常工作,并符合Java中的equals方法的设计规范。
以上就是Java中Equals使用方法的完整攻略。
本文链接:http://task.lmcjl.com/news/8032.html