在Java中,如果想要不同的数据类对象显示相等,可以通过重写equals()
方法来实现。以下是一个示例代码:
public class Person {
private String name;
private int age;
// 构造函数
public Person(String name, int age) {
this.name = name;
this.age = age;
}
// getter和setter方法
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
// 重写equals()方法
@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);
}
}
在上面的例子中,我们重写了equals()
方法来比较两个Person
对象是否相等。在比较过程中,我们首先判断两个对象的引用是否相等,如果是,则直接返回true
。然后再判断传入的对象是否为null
或者与当前对象的类不同,如果是,则返回false
。最后,我们比较两个对象的属性值是否相等,如果属性值相等,则返回true
;否则返回false
。
通过这种方式,我们可以在比较不同的数据类对象时,根据需求来定义相等的条件。