エラー/警告

エラー/警告の設定値は 「エラー/警告」設定ページを開くJava」>「コンパイラー」>「エラー/警告設定ページで指定します。

コード・スタイル

オプション

説明

デフォルト

静的メンバーへの非静的アクセス

使用可能にすると、コンパイラーは、static フィールドまたはメソッドが式の受取側でアクセスされるときにエラーまたは警告を出します。静的メンバーの参照は、型名で限定されなければなりません。

警告

静的メンバーへの間接アクセス

使用可能にすると、static フィールドまたはメソッドが間接的にアクセスされた場合に、コンパイラーがエラーまたは警告を出します。インターフェースの static フィールドは、宣言する型名で修飾される必要があります。

無視

インスタンス・フィールドへの限定されていないアクセス

使用可能にすると、修飾されていない (例えば 'this' がない) フィールド・アクセスを検出した場合に、コンパイラーがエラーまたは警告を出します。

無視

文書化されていない空のブロック

使用可能にすると、コンパイラーは、説明コメントがない空のブロック・ステートメントを検出した場合にエラーまたは警告を出します。

無視

エンクロージング型のアクセス不能メンバーへのアクセス

使用可能にすると、コンパイラーはエンクロージング型のアクセス不能メンバーへのアクセスをエミュレートするとき、エラーまたは警告を出します。このようなアクセスは、パフォーマンスに影響を与える可能性があります。

無視

コンストラクター名を持つメソッド

一般に、メソッドにコンストラクター名を使用して名前を付けると、プログラミングのスタイルが不良であると見なされます。このオプションを使用可能にすると、コンパイラーはこのようなシナリオをエラーまたは警告として通知します。

警告

パラメーターへの代入

一般に、パラメーターへの値の代入は、好ましくないプログラミング・スタイルと見なされます。このオプションを使用可能にすると、コンパイラーはこのようなシナリオをエラーまたは警告として通知します。

無視

外部化されていないストリング

使用可能にすると、コンパイラーは、外部化されていない文字列リテラル (つまり、//$NON-NLS-<n>$ のタグがないもの) に対して、または文字列に所属しない非外部化文字列タグに対して、エラーまたは警告を出します。

無視

潜在的なプログラミングの問題

serialVersionUID なしのシリアライズ可能クラス

使用可能にすると、コンパイラーは、 'java.io.Serializable' をインプリメントする型に serialVersionUID フィールドが含まれていない場合に、エラーまたは警告を出します。

警告

効果のない代入 (例:「x = x」)

使用可能にすると、コンパイラーは、代入に効果がないとき (例:「x = x」) にエラーまたは警告を出します。

警告

考えられる偶発的なブール割り当て (例:「if (a = b)」)

使用可能にすると、コンパイラーは、偶発的なブール割り当ての可能性を検出した場合 (例:「if (a = b)」) に、エラーまたは警告を出します。

無視

'finally' が正常に完了しない

使用可能にすると、'finally' ステートメントが正常に完了しない (例えば return 文が含まれている) 場合に、コンパイラーがエラーまたは警告を出します。

警告

空のステートメント

使用可能にすると、コンパイラーは、空のステートメント (例えば、不要なセミコロンなど) を検出した場合にエラーまたは警告を出します。

無視

ストリング連結での文字配列の使用

使用可能にすると、char[] 式が次のストリング連結で使用されたときに、コンパイラーはエラーまたは警告を出します。

"hello" + new char[]{'w','o','r','l','d'}

警告

隠れた catch ブロック

ローカル側の try ステートメントに対して、いくつかの catch ブロックが以下のように他の catch ブロックを隠す場合があります。

try { throw new java.io.CharConversionException();
} catch (java.io.CharConversionException e) {
} catch (java.io.IOException e) {}.

このオプションを使用可能にすると、コンパイラーは、チェックされた例外に対応する隠れた catch ブロックについてエラーまたは警告を出します。

警告

可変引数に対する不正確な型の一致

使用可能にすると、コンパイラーは、可変引数に対する不正確な型の一致を検出した場合にエラーまたは警告を出します。

警告

ボクシングおよびアンボクシング変換

使用可能にすると、コンパイラーは、ボクシングまたはアンボクシングへの変換を検出した場合にエラーまたは警告を出します。オートボクシングは、パフォーマンスに悪い影響を及ぼす場合があります。

無視

'switch' でカバーされない列挙型定数

使用可能にすると、コンパイラーは、参照される列挙の各列挙定数に対する case ステートメントを含まない切り替えステートメントを検出した場合に、エラーまたは警告を出します。

無視

'switch' 文の case のフォールスルー

使用可能にすると、コンパイラーは 'break' ステートメントが無い switch case を検出した場合にエラーまたは警告を出します。空の switch case は許可されます。

無視

NULL 参照

使用可能にすると、コンパイラーは、Null の可能性があるローカル変数が参照解除されていることを検出した場にエラーまたは警告を出します。分析はかなり保守的であることに気をつけてください。分析では何か疑わしいものがある場合には、該当するケースとみなされます。

無視

名前のシャドーイングおよび競合

フィールド宣言が他のフィールドまたは変数を隠蔽

このオプションを使用可能にすると、コンパイラーは、フィールド宣言によって他の継承フィールドが隠蔽される場合にエラーまたは警告を出します。

無視

ローカル変数宣言が他のフィールドまたは変数を隠蔽

このオプションを使用可能にすると、コンパイラーは、ローカル変数宣言によって他のフィールドまたは変数が隠蔽される場合にエラーまたは警告を出します。

無視

コンストラクターまたは Setter メソッド・パラメーターを組み込む

このオプションを使用可能にすると、コンパイラーはさらに、コンストラクターまたは setter メソッド・パラメーターによって他のフィールドまたは変数が隠蔽される場合に、エラーまたは警告を出します。

オフ

型パラメーターが別の型を隠蔽

このオプションを使用可能にすると、コンパイラーは、例えばインナー・クラスの型パラメーターによって他の外部型が隠蔽される場合にエラーまたは警告を出します。

警告

メソッドがオーバーライドされてもパッケージは不可視

パッケージ・デフォルト・メソッドは別のパッケージで可視ではないため、これをオーバーライドできません。このオプションを使用可能にすると、コンパイラーはこのようなシナリオをエラーまたは警告として通知します。

警告

インターフェース・メソッドがプロテクトされた 'Object' メソッドと競合

使用可能にすると、継承されない Object メソッドと互換性のないメソッドをインターフェースが定義したときに、コンパイラーはエラーまたは警告を出します。この競合が解決するまで、次のようなインターフェースはインプリメントできません。

interface I {
   int clone();
}

警告

使用すべきではない制限された API

使用すべきではない API

使用可能にすると、コンパイラーは使用すべきでない API の使用をエラーまたは警告として通知します。

警告

使用すべきでないコード内での使用すべきでない API の使用を知らせる

使用可能にすると、コンパイラーは使用すべきでないコード内の使用すべきでない API の使用を通知します。この問題の重大度は、「使用すべきではない API」オプションで制御されます。

オフ

使用すべきでないメソッドのオーバーライドまたは実装を知らせる

使用可能にすると、コンパイラーは、使用すべきでないメソッドのオーバーライドまたは実装を知らせます。この問題の重大度は、「使用すべきではない API」オプションで制御されます。

オフ

禁止された参照 (アクセス規則)

使用可能にすると、コンパイラーは、アクセス規則で指定されている禁止済みの参照を知らせます。

エラー

推奨されていない参照 (アクセス規則)

使用可能にすると、コンパイラーは、アクセス規則で指定されている推奨されない参照を知らせます。

警告

不要なコード

ローカル変数が読み取られない

使用可能にすると、コンパイラーは、ローカル変数が宣言されているにもかかわらず、その範囲内でまったく使用されていない場合にエラーまたは警告を出します。

警告

パラメーターが読み取られない

使用可能にすると、コンパイラーは、パラメーターが宣言されているにもかかわらず、その範囲内でまったく使用されていない場合にエラーまたは警告を出します。

無視

オーバーライドおよび実装メソッドを検査

使用可能にすると、コンパイラーは、パラメーターが宣言されているにもかかわらず、メソッドのオーバーライドまたは実装時にその範囲内で全く使用されない場合にエラーまたは警告を出します。

オフ

未使用のインポート

このオプションを使用可能にすると、コンパイラーは未使用インポート参照についてエラーまたは警告を出します。

警告

未使用のローカルまたは private メンバー

使用可能にすると、コンパイラーは、ローカルまたは private メンバーが宣言されたが同一ユニット内で全く使用されない場合にエラーまたは警告を出します。

警告

不要な else ステートメント

使用可能にすると、コンパイラーは、不要な else ステートメント (例えば、if (condition) return; else doSomething(); など) を検出した場合にエラーまたは警告を出します。

無視

不要なキャストまたは 'instanceof' 操作

使用可能にすると、コンパイラーは、不要なキャストまたは 'instanceof' 操作 (例えば、if (object instanceof Object) return; など) を検出した場合にエラーまたは警告を出します。

無視

スローされた検査済み例外の不要な宣言

使用可能にすると、コンパイラーは、スローされた例外の不要な宣言を検出した場合にエラーまたは警告を出します。

無視

オーバーライドおよび実装メソッドを検査

使用可能にすると、コンパイラーはさらに、オーバーライドまたは実装メソッド内でスローされた例外の不要な宣言を検出した場合に、エラーまたは警告を出します。

オフ

未使用の break/continue ラベル

使用可能にすると、コンパイラーは、未使用の 'break' または 'continue' ラベルを検出した場合にエラーまたは警告を出します。

警告

総称型

未検査の総称型操作

使用可能にすると、コンパイラーは、未検査の総称型操作を検出した場合にエラーまたは警告を出します。

警告

raw 型の使用

使用可能にすると、コンパイラーは raw 型の使用を検出した場合 (すなわち、List<String> の代わりに List) に、エラーまたは警告を出します。

無視

バインドされた final 型を使用して宣言される総称型パラメーター

使用可能にすると、コンパイラーは、final 型とともにバインドされた型を検出した場合にエラーまたは警告を出します。

警告

注釈

'@Override' 注釈の欠落

使用可能にすると、コンパイラーは、メソッドが他の実装済みメソッドを上書きしようとしているが、'@Override' 注釈が欠落していることを検出した場合にエラーまたは警告を出します。

無視

'@Deprecated' 注釈の欠落

使用可能にすると、コンパイラーは、追加の '@Deprecated' 注釈を持たない、使用すべきでない型を検出した場合にエラーまたは警告を出します。

無視

注釈をスーパー・インターフェースとして使用

使用可能にすると、コンパイラーは、注釈を実装する型を検出した場合にエラーまたは警告を出します。これは可能ですが、不適切な動作とみなされます。

警告

'@SuppressWarnings' の処理されない警告トークン

使用可能にすると、コンパイラーは、'@SuppressWarnings' 注釈内に処理されない警告トークンを検出した場合にエラーまたは警告を出します。

警告

'@SuppressWarnings' 注釈の使用可能化

使用可能にすると、コンパイラーは、'@SuppressWarnings' 注釈を処理します。

オン

関連概念

「問題」ビュー
クイック・フィックス
Java ビルダー