モジュール java.base
パッケージ java.lang

注釈型Deprecated


  • @Documented
    @Retention(RUNTIME)
    @Target({CONSTRUCTOR,FIELD,LOCAL_VARIABLE,METHOD,PACKAGE,MODULE,PARAMETER,TYPE})
    public @interface Deprecated
    @Deprecatedに注釈が付けられたプログラム要素は、プログラマが使用しないようにするものです。 要素は、その使用がエラーにつながる可能性があるなど、いくつかの理由のいずれかで非推奨になる場合があります。これは、将来のバージョンで互換性のない変更や削除が行われる可能性があり、より新しい代替手段によって置き換えられているか、または廃止されています。

    非推奨のプログラム要素が非推奨のコードで使用またはオーバーライドされると、コンパイラは警告を発行します。 ローカル変数宣言、パラメータ宣言またはパッケージ宣言に@Deprecated注釈を使用すると、コンパイラによって発行された警告には影響しません。

    モジュールが非推奨になると、そのモジュールを requiresで使用しますが、exports句またはopens句には使用しないと、警告が発行されます。 非推奨になっているモジュールでは、モジュール内の型の使用に関する警告は発行されません

    この注釈型には、文字列値要素sinceがあります。 この要素の値は、注釈付きプログラム要素が最初に非推奨になったバージョンを示します。

    この注釈型には、ブール値要素forRemovalがあります。 trueは、将来のバージョンで注釈付きプログラム要素を削除する目的を示します。 falseは、注釈付きプログラム要素の使用が推奨されないことを示しますが、プログラム要素に注釈が付けられた時点で、それを削除する特定の目的はありませんでした。

    APIのノート:
    @deprecated javadocタグを使用して、プログラム要素を非推奨にする理由をドキュメントで説明することを強くお薦めします。 また、ドキュメントでは、推奨される置換APIを提案し、該当する場合はリンクする必要があります。 置換APIのセマンティクスが微妙に異なることが多いため、このような問題についても検討する必要があります。

    since値は、新しく注釈が付けられたすべてのプログラム要素とともに指定することをお薦めします。 この要素値を持たない既存の注釈が多数存在するため、sinceは必須にできません。

    注釈要素間に順序が定義されていません。 スタイルの問題として、since要素を最初に配置する必要があります。

    @Deprecated注釈は、@deprecated javadocタグが存在する場合は常に存在し、その逆も存在します。

    導入されたバージョン:
    1.5
    The Java™Language Specificationを参照してください。
    9.6.4.6 @Deprecated
    • オプション要素のサマリー

      オプションの要素 
      修飾子と型 任意要素 説明
      boolean forRemoval
      注釈付き要素が将来のバージョンで削除される可能性があるかどうかを示します。
      String since
      注釈付き要素が非推奨になったバージョンを返します。
    • 要素の詳細

      • since

        String since
        注釈付き要素が非推奨になったバージョンを返します。 バージョン文字列は、@since javadocタグの値と同じ形式およびネームスペースです。 デフォルト値は空の文字列です。
        戻り値:
        バージョン文字列
        導入されたバージョン:
        9
        デフォルト:
        ""
      • forRemoval

        boolean forRemoval
        注釈付き要素が将来のバージョンで削除される可能性があるかどうかを示します。 デフォルト値はfalseです。
        戻り値:
        要素が削除の対象かどうか
        導入されたバージョン:
        9
        デフォルト:
        false