报告将 ==!= 应用于新分配对象而不是调用 equals() 的代码。

对新分配对象的引用不能指向现有对象,因此比较结果始终为 false。 该检查还可以报告从简单方法返回的新建对象。

示例:


  void test(Object obj) {
    if (new Object() == obj) {...}
  }

在应用快速修复后:


  void test(Object obj) {
    if (new Object().equals(obj)) {...}
  }

2018.3 最新变化