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

注釈インタフェースSuppressWarnings


@Retention(SOURCE) public @interface SuppressWarnings
注釈付き要素内のコンパイル時および注釈付き要素に含まれるすべての要素で抑制される警告を示します。

SuppressWarnings注釈インタフェースはすべての宣言コンテキストに適用できるため、任意の要素で@SuppressWarnings注釈を使用できます。 スタイルの点からいうと、プログラマは、有効な場合、もっとも深度のある入れ子要素でこの注釈を使う必要があります。 たとえば、特定のメソッドで警告を抑制する場合は、クラスではなくそのメソッドに注釈を付ける必要があります。

特定の要素で抑制される警告のセットは、含まれているすべての要素で抑制される警告の和集合です。 たとえば、ある警告を抑制するためにクラスに注釈を付け、別の警告を抑制するためにクラス内のメソッドに注釈を付けると、両方の警告がメソッド内で抑制されます。 ただし、警告がmodule-infoファイルに抑制されている場合、その抑制はファイル内の要素に適用され、モジュール内に含まれるタイプには適用されないことに注意してください。 同様に、警告がpackage-infoファイルに抑制されている場合、抑制はパッケージ内に含まれるタイプではなく、ファイル内の要素に適用されます。

Javaコンパイラでは、「Java言語仕様」 (JLSセクション9.6.4.5)で定義される次のようなすべての種類の警告を認識する必要があります:

  • 未チェックの警告。文字列"unchecked"で指定されます。
  • 非推奨警告。文字列"deprecation"で指定されます。
  • 削除警告(文字列"removal"で指定)。
  • 文字列"preview"で指定された警告をプレビューします。
Javaコンパイラが他の文字列を認識するかどうかは、実装上の問題です。 コンパイラ・ベンダーは、サポートする追加の警告名を記述する必要があります。 ベンダーは、同じ名前が複数のコンパイラで機能するように協力することをお薦めします。

実装上のノート:
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番目の名前および名前の連続は無視されます。 認識されない警告名があってもエラーにはなりません。コンパイラは、認識しないすべての警告名を無視しなければいけません。 ただし、認識されていない警告名が注釈に含まれる場合、コンパイラが警告を発するのは自由です。
      戻り値:
      抑制される警告のセット