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のキャプチャです。
KHI入社して退社。今はCONFRAGEで正社員です。関西で140-170/80~120万から受け付けております^^
得意技はJS(ES6),Java,AWSの大体のリソースです
コメントはやさしくお願いいたします^^
座右の銘は、「狭き門より入れ」「願わくは、我に七難八苦を与えたまえ」です^^
コメント