I have seen lots of example of overriding equals method. But in every example, while fields comparison, why we don't pass parameter like this.firstName in Objects.equals(firstName, person.firstName), but just pass firstName
Why we don't write like Objects.equals(this.firstName, person.firstName)
public boolean equals(Object o) {
// self check
if (this == o)
return true;
// null check
if (o == null)
return false;
// type check and cast
if (getClass() != o.getClass())
return false;
Person person = (Person) o;
// field comparison
return Objects.equals(firstName, person.firstName)
&& Objects.equals(lastName, person.lastName);
}