报告对 equals()compareTo() 或比较一个对象是否与自身相等的类似方法的调用。 这些方法的方法约定指定了此类调用将始终为 equals() 返回 true 或为 compareTo() 返回 0。 该检查还会检查对 Objects.equals()Objects.deepEquals()Arrays.equals()Comparator.compare()、测试框架(JUnit、TestNG、AssertJ)的 assertEquals() 方法、Integer.compare()Integer.compareUnsigned() 以及类似方法的调用。

示例:


  class Foo {
    boolean foo(Object o) {
        return o.equals(o); // 警告
    }

    boolean bar(String[] ss) {
        return Arrays.equals(ss, ss); // 警告
    }
}

使用该选项可以仅报告对不可扩展的库类(如 String)和基元类型的测试断言。 当测试 equals 方法时,此选项可能很有用。