gpt4 book ai didi

java - 空的 if 语句

转载 作者:IT老高 更新时间:2023-10-28 20:33:29 25 4
gpt4 key购买 nike

“空 if 语句”的意思是这样的(注意分号):

if (condition);

我无法考虑为此申请。使用 while 循环,您可以这样做:

while (callUntilReturnsFalse());

但没有这样的 if 语句应用。更重要的是,Java 编译器在遇到这样的语句时不会发出错误或警告。这可能会导致大而无声的问题,尤其是对于冗长而复杂的语句:

if ((functionA() && functionB(getFoo()) ||
checkForComplexCondition(arg1, arg2, getBar(getFoo())));
{
doStuff();
}

我的问题是:为什么 Java 允许这样做?而且,更重要的是,我可以启用一个选项以在发生这种情况时发出警告吗?

(这个问题是关于 C# 的 asked before,它确实会发出警告,但我希望找到一种使用 Java 引起警告的方法。)

最佳答案

为什么 Java 允许这样做?

Java Language Specification (14.6. The Empty Statement) :

An empty statement does nothing.

它只是被允许的,它相当于(并将被翻译成):

if (condition) {  }

这意味着,如果条件为真,则什么也不做。

如果你使用的是 eclipse,你可以看看这里,你可能会发现一些有用的东西(我不确定分号终止符是否存在这样的选项):

窗口首选项Java编译器错误/警告

enter image description here


编辑

正如@nullptr 在他的回答中指出的那样,存在一个 IDE 警告,您需要在 Empty statement 上设置 warning

关于java - 空的 if 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16428903/

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