【发布时间】:2019-06-15 13:20:49
【问题描述】:
我的项目中有一个常数,它代表了一些时间跨度。当它低于 0 时,我想禁用时间跨度相关检查。
通常会检查
if(CONSTANT > 0) foo();
else bar();
但这会导致警告“条件始终为‘假’”或“条件始终为‘真’”,具体取决于常量的值。
有没有办法绕过这个警告,以防止另一个开发人员只做那几行?
编辑: 我的问题有点太笼统了。对于那个很抱歉。
我有一个计时器,经过一段时间 TIME_FOR_AUTH(常量)后,我的模型将被清除。这是一种安全措施,会在测试时产生问题。因此,我在我的代码中添加了一个检查 if(TIME_FOR_AUTH > 0) ...。
现在我得到了描述的警告。由于 IntelliJ 总是要求我删除这个结构(在这个项目中我并不孤单),我想知道在 Java 中是否有一种常见的做法/有可能抑制警告。
【问题讨论】:
-
常量不会改变(这不是你收到警告的原因),否则你误用了这个概念。
-
@lealceldeiro 我知道,运行代码中的常量不会改变。但是我正在使用描述的那个来启用(或禁用)我的程序中的计时器,并使用它设置时间。我不确定还有什么其他概念可以用于此。
-
您的问题不清楚,正如您所问的两个答案之间的“辩论”所示!请阅读这些答案,然后澄清您的问题,以便人们了解您的实际问题。请通过编辑问题来澄清...
标签: java compiler-warnings compile-time-constant