具有两个条件的Eclipse IDE死代码警告-如何消除它?

时间:2019-01-07 14:59:32

标签: java eclipse annotations

在下面的代码示例中,Eclipse将if语句中的代码块标记为无效代码。这是可以预期的,因为代码确实无法访问,但是这些最终属性旨在用作我实际代码库中的配置,并且可以对其进行编辑。但是,我无法抑制警告。

我尝试在@suppresswarnings块之前,static块之前和if声明之前添加class批注,但是这些都无效。奇怪的是,如果if语句中只有一个条件,则该代码不会标记为无效代码(例如,如果SOME_OTHER_CONDITION被删除)。

public class Example {
    private static final boolean ENABLED = false;
    private static final boolean SOME_OTHER_CONDITION = false;

    static {
        if (ENABLED && SOME_OTHER_CONDITION) {
            System.out.println("Enabled!");
        }
    }
} 

在没有编辑首选项或项目设置的情况下, 可以忽略这些警告吗?也许有一种方法可以重组代码来避免它?

2 个答案:

答案 0 :(得分:2)

在类声明上方尝试@SuppressWarnings("unused"),如下所示:

@SuppressWarnings("unused")
public class Example {

    private static final boolean ENABLED = false;
    private static final boolean SOME_OTHER_CONDITION = false;

    static {
        if (ENABLED && SOME_OTHER_CONDITION) {
            System.out.println("Enabled!");
        }
    }

}

答案 1 :(得分:2)

如果像这样嵌套if语句,则可以避免此警告:

public class Example {

private static final boolean ENABLED = false;
private static final boolean SOME_OTHER_CONDITION = false;

    static {
        if (SOME_OTHER_CONDITION) {
            if (ENABLED) {
                System.out.println("Enabled!");
            }
        }
    }
}