我无法弄清楚“其他人”的重点是什么?'线。 在第一个条件测试中,执行控制以检查参数是否为空,这对我来说是有意义的。 其次,如果课程相同,那么可以进行比较,这对我来说也是有意义的。但是我失去了,因为我不了解创建另一个Person对象的必要性并将其用作参考。
public boolean equals(Object obj) {
if (obj == null) {
return false;
}
if (getClass() != obj.getClass()) {
return false;
}
final Person other = (Person) obj;
if (!Objects.equals(this.surname, other.surname)) {
return false;
}
if (!Objects.equals(this.name, other.name)) {
return false;
}
return true;
}
感谢您的时间:)
答案 0 :(得分:3)
通过将other
声明为final
,这意味着一旦设置了值就无法更改。
您要转换为Person
对象的原因是,参数类型为Object
。这意味着您可以获得Object
类中的所有方法。通过将其强制转换为Person
,您可以访问Person
类中的所有方法。通过以下方式可以实现相同的功能:
((Person)obj).personMethod();