所以问题是能够结合多个警告抑制,以便每个项目都不需要它自己的@SuppressWarnings
注释。
例如:
public class Example
public Example() {
GO go = new GO(); // unused
....
List<String> list = ( List<String> ) go.getList(); // unchecked
}
...
// getters/setters/other methods
}
现在我没有两个@SuppressWarnings
,而是希望在课程级别有两个警告,所以这样:
@SuppressWarnings( "unused", "unchecked" )
public class Example
public Example() {
GO go = new GO(); // unused - suppressed
....
List<String> list = ( List<String> ) go.getList(); // unchecked - suppressed
}
...
// getters/setters/other methods
}
但这不是一个有效的语法,有没有办法做到这一点?
答案 0 :(得分:272)
使用以下内容:
@SuppressWarnings({"unused", "unchecked"})
答案 1 :(得分:10)
如果您查看注释内部,您会看到:
public @interface SuppressWarnings {
String[] value();
}
如您所见,值参数是一个字符串数组... 所以注释中的参数可以是: value1,value2或value3 其中
final String[] value1 = { "a1" };
final String[] value2 = { "a1", "a2" };
final String[] value3 = { "a1", "a2", "a3" };
即:
@SuppressWarnings({"unused"})
@SuppressWarnings({"unused", "javadoc"})
你可以看到像这样的东西
@SuppressWarnings("unused")
这是一个特殊情况,允许一个元素没有“ {} ”