Apache Commons Lang 库中的EqualsBuilder和HashCodeBuilder类可用于对象比较。
例如,可以测试两个Person
对象之间的相等性,如下所示:
Person p1 =...;
Person p2 =...;
boolean equals = new EqualsBuilder().
append(p1.name, p2.name).
append(p1.secondname, p2.secondname).
append(p1.surname, p2.surname).
append(p1.age, p2.age).
isEquals();
假设一个字段不是强制性的,例如secondname
. EqualsBuilder 和 HasCodeBuilder 如何处理这个事实?是否在该领域进行了比较?或者可以将空字段的比较作为特殊选项跳过?