gpt4 book ai didi

java - 正确地表述常数的条件?

转载 作者:行者123 更新时间:2023-12-01 07:00:37 25 4
gpt4 key购买 nike

我的项目中有一个常量,它代表一些时间跨度。当它低于 0 时,我想禁用与时间跨度相关的检查。

一般情况下会检查

if(CONSTANT > 0) foo();
else bar();

但这会导致警告“条件始终为“假””或“条件始终为“真””,具体取决于常量的值。

有没有办法绕过这个警告,以防止另一个开发人员看到这一行?

<小时/>编辑:我的问题有点太笼统了。抱歉。

我有一个计时器,经过一段时间 TIME_FOR_AUTH (常量)后,它会清除我的模型。这是一项安全措施,在测试时会出现问题。因此,我在代码中添加了一个检查 if(TIME_FOR_AUTH > 0) ...

现在我收到了所描述的警告。由于 IntelliJ 总是要求我删除这个构造(而且我在这个项目中并不孤单),所以我想知道在 Java 中是否有这样做的常见做法/是否有可能抑制警告。

最佳答案

首先,这只是一个警告。

其次,您可以使用 @SuppressWarnings 抑制警告。注解。对于“始终为真/假”警告,它将是 @SuppressWarnings("ConstantConditions")

代码示例:

package stackoverflow;

public class SuppressWarningsExample {

@SuppressWarnings("ConstantConditions")
public static void main(String[] args) {
final int value = 100;

if (value > 0)
System.out.println("Yes");
else
System.out.println("No");
}
}

对于 IntelliJ IDEA,您还可以使用内联 // noinspection <InspectionName> 抑制每个表达式的警告。评论:

// noinspection ConstantConditions
if (value > 0)
System.out.println("Yes");
else
System.out.println("No");

关于java - 正确地表述常数的条件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56610757/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com