例:
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 ステートメント、非推奨クラスのメソッド、または同じトップクラスの中でこのインスペクションを無効化するには、オプションを使用します。