抑制来自Eclipse的“所有”投诉

时间:2012-01-14 06:01:19

标签: java eclipse dead-code suppress-warnings

SuppressWarnings声明之上的if注释有什么问题?带有Sun JDK 6的Eclipse提供了两种语法错误描述,无论是无用还是难以理解,都在评论中显示。

class TestDeadCode
{
    //@SuppressWarnings("all")
    public static void main(String[] args)
    {
        @SuppressWarnings("all")  // syntax errors: insert enum body, insert enum id
        if ((Constants.flag0) && (Constants.flag1))
            System.out.println("hello\n");      
    }
}

interface Constants
{
    boolean flag0 = false;
    boolean flag1 = false;
}

1 个答案:

答案 0 :(得分:5)

只能注释类,方法,变量声明,参数和包。因此,您不能在if语句中使用SuppressWarnings(“all”)。

要解决此问题,您只需执行以下操作即可。

@SuppressWarnings("all")
boolean flag = Constants.flag0 && Constants.flag1;
if (flag) {
    System.out.println("hello\n");
}

到目前为止还没有SuppressWarnings(“死代码”)。

http://docs.oracle.com/javase/7/docs/api/java/lang/SuppressWarnings.html http://pmd.sourceforge.net/suppressing.html