假设我有一个生成警告的注释。注释是在一个方法上。
e.g。
@AnnotationThatGeneratesAWarning
public void doSomething() {
//stuff
}
我可以使用@SuppressWarnings
来抑制它吗? @SuppressWarnings
是否适用于注释生成的警告,或仅适用于方法本身生成的警告?
答案 0 :(得分:3)
您使用的是什么IDE?什么是产生警告的代码?一个好的IDE通常会建议在@SuppressWarnings
中使用String,但最好先尝试修复警告,如果不可能,最后一个资源使用@SuppressWarnings
。
编辑:
您可以告诉@SuppressWarnings
无法使用查看其documentation的其他注释。如你所见:
@Target(value={TYPE,FIELD,METHOD,PARAMETER,CONSTRUCTOR,LOCAL_VARIABLE})
目标不包含ANNOTATION_TYPE
,这意味着@SuppressWarnings
无法应用于其他注释。
答案 1 :(得分:0)
我在Eclipse中测试过以下内容。注释来自Spring MVC。
@SuppressWarnings("all")
@RequestMapping("/{foo}/somepage.do")
public void serveAPage() {
}
{foo}
中的@RequestMapping
生成警告,因为它未被分配给变量*。警告描述是“URI模板变量”foo“未定义”。
@SuppressWarnings("all")
应该取消该方法的所有警告。尽管如此,Eclipse仍会显示警告。
据我所知,您无法使用@SuppressWarnings
来抑制由注释引起的警告。
*这是最初提出问题的代码。修复代码使其不会导致异常是微不足道的,而不是问题的重点。