EqualsBuilder.reflectionEquals依赖于每个字段的equals实现

时间:2013-01-03 18:38:13

标签: java apache-commons

我想在我的一些测试中使用reflectionEquals,但发现只有在所有非null字段的类实现equals时它才有效。对于我的某些领域,情况并非如此。我想过使用一个子类来覆盖equals并且在没有实现equals(headers)的字段上使用显式使用reflectionEquals。这有效,但很混乱,想检查是否有更好的方法。身份等于在我的测试中不起作用的原因是我正在使用gson将对象编组到数据库中。这是我的子类解决方案:

    @Override
    public boolean equals(Object obj) {
        TrackingEvent other = (TrackingEvent) obj;
        return EqualsBuilder.reflectionEquals(this.getHeaders(), other.getHeaders()) && 
                EqualsBuilder.reflectionEquals(this, other, new String[] {"headers"});
    }

0 个答案:

没有答案