表示在注解元素中和所有包含在注解元素中的所有元素中要抑制的警告。
SuppressWarnings
注解接口适用于所有声明上下文,因此@SuppressWarnings
注解可以用于任何元素。作为一种风格,程序员应该始终在最深层嵌套的有效元素上使用此注解。例如,如果要抑制特定方法中的警告,应该对该方法进行注解,而不是对其类进行注解。
在给定元素中抑制的警告集是所有包含元素中抑制的警告的并集。例如,如果在类中注解一个警告并在类中的方法中注解另一个警告,那么这两个警告将在方法中被抑制。但是,请注意,如果在module-info
文件中抑制了警告,则抑制将应用于文件中的元素,而不适用于模块中包含的类型。同样,如果在package-info
文件中抑制了警告,则抑制将应用于文件中的元素,而不适用于包中包含的类型。
Java编译器必须识别Java语言规范(JLS第9.6.4.5节)中定义的所有警告类型,包括:
- 未经检查的警告,由字符串
"unchecked"
指定。 - 已废弃的警告,由字符串
"deprecation"
指定。 - 移除警告,由字符串
"removal"
指定。 - 预览警告,由字符串
"preview"
指定。
- 实现注意事项:
-
除了规定的抑制字符串外,
javac
参考实现还识别其--help-lint
输出中记录的与编译相关的警告名称。 - 参见Java语言规范:
-
4.8 原始类型
4.12.2 引用类型的变量
5.1.9 未经检查的转换
5.5 强制转换上下文
9.6.4.5 @SuppressWarnings
- 自版本:
- 1.5
-
Required Element Summary
-
Element Details
-
value
String[] value编译器在注解元素中要抑制的警告集。允许重复名称。名称的第二次及后续出现将被忽略。未识别的警告名称的存在不是一个错误:编译器必须忽略它们不认识的任何警告名称。但是,如果注解包含一个未识别的警告名称,它们可以自由发出警告。- 返回:
- 要抑制的警告集
-