Javaの@Deprecatedの使い方と抑制方法

Javaの@Deprecatedの使い方と抑制方法

今さらながら@Deprecatedで知ったことがあったのでメモ。

抽象クラスTestのメソッドに@Deprecatedをつけます。

package jp.co.confrage;
public abstract class Test {
  @Deprecated
  public String getValue() {
    return "";
  }
}

このTestクラスを継承したTestMainクラスを以下のように作成します。

package jp.co.confrage;
public class TestMain extends Test{
  public void sampleMethod() {
    getValue();
  }
}

これをEclipseで記述するといかのように取り消し線がつきます。非推奨という意味です。

TestをInterfaceに変えます。

package jp.co.confrage;
public interface Test {
  @Deprecated
  public String getValue();
}

それに伴ってTestMainもgetValueを実装します。

package jp.co.confrage;
public class TestMain implements Test{
  public void sampleMethod() {
    getValue();
  }

  public String getValue() {
    return "";
  }
}

ここで取り消し線が表示されるかと思ったんですが、表示されませんでした。

「~は使用すべきではありません。」を抑制する方法

非推奨であっても使わなければいけない場合もあると思います。

そういった場合は以下アノテーションで警告を抑制します。

@SuppressWarnings(“deprecation”)

以下、使用例です。

package jp.co.confrage;
public class TestMain extends Test{
  @SuppressWarnings("deprecation")
  public void sampleMethod() {
    getValue();// 警告が消える
  }
}

以下はEclipseのキャプチャです。

コメント

タイトルとURLをコピーしました