报告已弃用类、字段和方法的用法。 当可以从已弃用成员的 Javadoc 中提取必要的信息时,可以使用快速修复来自动转换已弃用的用法。

示例:


  class Interesting {

    /**
     * @deprecated 改用 {@link #newHotness()}
     */
    @Deprecated
    public void oldAndBusted() {}

    public void newHotness() {}
  }
  class ElseWhere {
    void x(Interesting i) {
      i.oldAndBusted(); // 此处为已弃用警告
    }
  }

在应用快速修复后:


  class Interesting {

    /**
     * @deprecated 改用 {@link #newHotness()}
     */
    @Deprecated
    public void oldAndBusted() {}

    public void newHotness() {}
  }
  class ElseWhere {
    void x(Interesting i) {
      i.newHotness();
    }
  }

默认情况下,如果不可能或很难避免,则检查不会发出警告。 比如下面的代码就不会被报告:


  abstract class A { //库代码
     @Deprecated
     abstract void m();
  }
  class B extends A { //项目代码
     @Override
     void m() {
        //doSmth;
     }
  }

配置检查:

使用选项可以在弃用成员、abstract 弃用方法重写、非 static import 语句、弃用类的方法或相同的顶级类中禁用此检查。