@Retention(SOURCE) public @interface SuppressWarnings
注釈付き要素内のコンパイル時および注釈付き要素に含まれるすべての要素で抑制される警告を示します。
SuppressWarnings
注釈インタフェースはすべての宣言コンテキストに適用できるため、任意の要素で@SuppressWarnings
注釈を使用できます。 スタイルの点からいうと、プログラマは、有効な場合、もっとも深度のある入れ子要素でこの注釈を使う必要があります。 たとえば、特定のメソッドで警告を抑制する場合は、クラスではなくそのメソッドに注釈を付ける必要があります。
特定の要素で抑制される警告のセットは、含まれているすべての要素で抑制される警告の和集合です。 たとえば、ある警告を抑制するためにクラスに注釈を付け、別の警告を抑制するためにクラス内のメソッドに注釈を付けると、両方の警告がメソッド内で抑制されます。 ただし、警告がmodule-info
ファイルに抑制されている場合、その抑制はファイル内の要素に適用され、モジュール内に含まれるタイプには適用されないことに注意してください。 同様に、警告がpackage-info
ファイルに抑制されている場合、抑制はパッケージ内に含まれるタイプではなく、ファイル内の要素に適用されます。
Javaコンパイラでは、「Java言語仕様」 (JLSセクション9.6.4.5)で定義される次のようなすべての種類の警告を認識する必要があります:
- 未チェックの警告。文字列
"unchecked"
で指定されます。 - 非推奨警告。文字列
"deprecation"
で指定されます。 - 削除警告(文字列
"removal"
で指定)。 - 文字列
"preview"
で指定された警告をプレビューします。
- 実装上のノート:
javac
リファレンス実装では、指定された抑制文字列に加えて、--help-lint
出力に記載されているコンパイル関連の警告名が認識されます。- Java言語仕様を参照してください:
-
4.8 Rawタイプ
4.12.2参照タイプの変数
5.1.9未チェック変換
5.5キャスト・コンテキスト
9.6.4.5 @SuppressWarnings - 導入されたバージョン:
- 1.5
-
必須要素のサマリー
-
要素の詳細
-
value
String[] value注釈を付けられた要素でコンパイラにより抑制される警告のセットです。 名前の重複は許されます。 2番目の名前および名前の連続は無視されます。 認識されない警告名があってもエラーにはなりません。コンパイラは、認識しないすべての警告名を無視しなければいけません。 ただし、認識されていない警告名が注釈に含まれる場合、コンパイラが警告を発するのは自由です。- 戻り値:
- 抑制される警告のセット
-