@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タグが存在する場合は常に存在する必要があり、その逆もあります。- Java言語仕様を参照してください:
-
9.6.4.6 @Deprecated
- 導入されたバージョン:
- 1.5
-
オプション要素のサマリー
修飾子と型オプション要素説明boolean
注釈付き要素が将来のバージョンで削除されるかどうかを示します。注釈付き要素が推奨されなくなったバージョンを返します。
-
要素の詳細
-
since
String since注釈付き要素が推奨されなくなったバージョンを返します。 バージョン文字列は、@since
javadocタグの値と同じ形式およびネームスペースにあります。 デフォルト値は空の文字列です。- 戻り値:
- バージョン文字列
- 導入されたバージョン:
- 9
- デフォルト:
- ""
-
forRemoval
boolean forRemoval注釈付き要素が将来のバージョンで削除されるかどうかを示します。 デフォルト値はfalse
です。- 戻り値:
- 要素が削除対象かどうか
- 導入されたバージョン:
- 9
- デフォルト:
- false
-