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 方法时,此选项可能很有用。