型パラメーターが省略されているジェネリッククラスを報告します。 Java ではこのような型引数のないジェネリック型 (raw 型) を使用できますが、型パラメーターの目的が無意味になってしまい、バグがマスクされる可能性があります。 このインスペクションは javac の rawtypes 警告と同じ動作をします。
例:
//警告: 型引数のないパラメーター化されたクラス 'List’ の使用
List list = new ArrayList<String>();
//文字列のリストが作成されましたが、整数も受け付けています
list.add(1);
//配列作成中に型引数を指定することはできないため、警告はありません
IntFunction<List<?>[]> fun = List[]::new;
インスペクションの構成:
- オブジェクト構築で使用されている raw 型を無視するには、「新規オブジェクトの構築を無視する」オプションを使用します。
- 型キャストで使用されている raw 型を無視するには、「型のキャストを無視する」オプションを使用します。
- 型パラメーターがコンパイルに失敗するケース (配列の作成やライブラリメソッドのオーバーライドなど) を無視するには、「型パラメーターがコンパイルされない場所を無視」オプションを使用します。
- オーバーライド対象メソッドのパラメーターに使用されている型パラメーターを無視するには、「オーバーライドするメソッドのパラメーター型を無視」オプションを使用します。
- クイックフィックスを使用できないケースを無視するには、「自動クイックフィックスを使用できない時は無視する」オプションを使用します。