作为简化示例,我有:
public static final int RUN_TYPE = 1;
if(RUN_TYPE == 1)
{
}
这给了我if上的“比较相同”警告。如何在不禁用全局“比较相同”警告的情况下摆脱此警告?
答案 0 :(得分:3)
“比较相同”警告是因为编译器知道该值,它知道RUNT_TYPE的值为1,并且您将它与常量1进行比较,这是没有意义的。
如果将它与另一个不恒定的变量进行比较,则不会出现警告,因为直到运行时才能确定该值。
示例:
int ANOTHER_INT = 1;
if(RUN_TYPE == ANOTHER_INT {}
这不会给你“比较相同”警告。
答案 1 :(得分:0)
由于您的变量为final
,因此更改的机会不大。
你为什么需要测试它的价值?
修改强>
...然后使用-D
标志在java命令行上传递一个属性,并在代码中读取此属性,例如
if ( "WHATEVER".equals(System.getProperty("myproperty", "default_value"))) {
...
}