在下面的代码示例中,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!");
}
}
}
在没有编辑首选项或项目设置的情况下, 可以忽略这些警告吗?也许有一种方法可以重组代码来避免它?
答案 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!");
}
}
}
}