如果您 从 apache commons lang 了解 EqualsBuilder,您就会知道可以使用它来实现带反射的 equals 方法。它似乎运作良好,但由于我使用的是第三方软件,我需要改变它的行为。我需要一个通用比较器来检查所有属性,并且不能假定属性对象具有实现的 equals 方法,但 EqualsBuilder 假定它。
详细地说,我想改变public EqualsBuilder append(Object lhs, Object rhs)
,而不是调用isEquals = lhs.equals(rhs)
EqualsBuilder 也应该用于这个对象。就像是isEquals = EqualsBuilder.reflectionEquals(lhs, rhs, false);
覆盖该方法是可能的,但它不会被调用,因为 EqualsBuilder 创建了它自己的对象。因此我需要告诉 EqualBuilder 使用我的 RecursiveEquilbuilder 对象。
有任何想法吗?