【发布时间】:2025-12-22 17:30:11
【问题描述】:
我想知道如何检查同一类的两个对象在每个属性中是否具有相同的值。
例如:
public class Person {
String name;
String surname;
String country;
int age;
public Person(String name, String surname, String country, int age) {
this.name = name;
this.surname = surname;
this.country = country;
this.age = age;
}
public boolean samePerson(Person person){
//CODE
}
Person person1 = new Person("Abel", "Smith", "EEUU", 26);
Person person2 = new Person("Alexa", "Williams", "Canada", 30);
Person person3 = new Person("Abel", "Smith", "EEUU", 26);
Person person4 = new Person("Alexa", "Williams", "EEUU", 30)
person1.samePerson(person2) // return false
person1.samePerson(person3) // return true
person2.samePerson(person3) // return false
person2.samePerson(person4) // return false
我唯一能想到的就是一对一比较属性。有没有更简单的方法?
对不起我的英语
提前致谢
【问题讨论】:
-
通常,你从对象类中重写equals方法,但是如果你认为如果两个人的所有属性值都相同,那么没有更简单的方法。
-
覆盖 equals() 和 hashCode()
-
Read this answer。它有几种不同的探索方式:)
标签: java