@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のノート:
@deprecatedjavadocタグを使用して、プログラム要素の非推奨理由をドキュメントで説明することを強く推奨します。 該当する場合は、ドキュメントに推奨代替APIを提案してリンクする必要があります。 置換APIは、しばしば微妙に異なるセマンティクスを持つため、このような問題についても議論する必要があります。since値は、新たに注釈を付けられたすべてのプログラム要素と共に提供されることが推奨されます。sinceは必須ではないことに注意してください。この要素の値が不足している既存の注釈が多数存在するためです。注釈要素の間には定義された順序はありません。 スタイルの問題として、
since要素を最初に配置する必要があります。@Deprecated注釈は、@deprecatedjavadocタグが存在する場合は常に存在する必要があり、その逆もあります。- Java言語仕様を参照してください:
-
9.6.4.6 @Deprecated
- 導入されたバージョン:
- 1.5
-
オプション要素のサマリー
オプションの要素修飾子と型オプション要素説明boolean注釈付き要素が将来のバージョンで削除されるかどうかを示します。注釈付き要素が推奨されなくなったバージョンを返します。
-
要素の詳細
-
since
String since注釈付き要素が推奨されなくなったバージョンを返します。 バージョン文字列は、@sincejavadocタグの値と同じ形式およびネームスペースにあります。 デフォルト値は空の文字列です。- 戻り値:
- バージョン文字列
- 導入されたバージョン:
- 9
- デフォルト:
""
-
forRemoval
boolean forRemoval注釈付き要素が将来のバージョンで削除されるかどうかを示します。 デフォルト値はfalseです。- 戻り値:
- 要素が削除対象かどうか
- 導入されたバージョン:
- 9
- デフォルト:
false
-