Sobes.tech
Middle

What other second solution can be proposed for comparing two Person objects?

sobes.tech AI

Answer from AI

As a second solution for comparing two Person objects, besides overriding the equals() method, you can use a library for deep object comparison, such as Apache Commons Lang (EqualsBuilder), or write your own comparator that compares the necessary fields one by one.

Example using EqualsBuilder:

import org.apache.commons.lang3.builder.EqualsBuilder;

public boolean equals(Person p1, Person p2) {
    return new EqualsBuilder()
        .append(p1.getName(), p2.getName())
        .append(p1.getAge(), p2.getAge())
        .append(p1.getAddress(), p2.getAddress())
        .isEquals();
}

This approach is convenient when you need to compare objects flexibly without changing their class or for temporary comparisons.