报告类型形参被忽略的泛型类。 这种对泛型类型的原始使用在 Java 中虽然有效,但它违背了类型形参的用途,并且可能掩盖错误。 此检查反映出 javac
的 rawtypes
警告。
示例:
//警告:形参化类 'List' 的原始使用
List list = new ArrayList<String>();
//创建了字符串列表,但也接受整数
list.add(1);
//无警告,因为在数组创建期间无法提供类型实参
IntFunction<List<?>[]> fun = List[]::new;
配置检查:
- 使用忽略新对象的构造选项,可忽略对象构造中使用的原始类型。
- 使用忽略类型转换选项,可忽略类型转换中使用的原始类型。
- 使用忽略类型形参无法编译的位置选项,可忽略类型形参编译失败的情况(例如创建数组或重写库方法的情况)。
- 使用忽略重写方法的形参类型选项,可忽略重写方法的形参中使用的类型形参。
- 使用在自动快速修复不可用时忽略选项,可忽略快速修复不可用的情况。
仅当项目或模块的语言级别为 5 或更高时,此检查才会报告。