gpt4 book ai didi

Java if 语句和 boolean 表达式

转载 作者:行者123 更新时间:2023-12-01 17:47:40 25 4
gpt4 key购买 nike

有一个基本的 if 语句问题,所以我有一个 Java 中的 if 语句,如下所示:

if (
!isOmitted(word,map.get(word.length()+1)) &&
!isInserted(word,map.get(word.length()-1)) &&
!isTransposed(word,map.get(word.length())) &&
!isSubstituted(word,map.get(word.length())) &&
!isCapital(word,map.get(word.length())))
{
noSuggestion=true;
}

其中每个单独的方法都可以按照预期完美运行。 java有没有办法检查所有条件,即使其中一个条件为假?我知道 && 运算符的本质是,一旦条件不成立,就没有必要检查其余条件,因为整个条件将被设置为 false,但我希望我能做到像这样的事情是为了让我的代码更干净。我知道我可以使用 boolean 变量,并将返回值分配给 5 个不同的变量,但是还有其他解决办法来强制检查每个条件吗?非常感谢先进

最佳答案

单个 & 是非短路操作数 - 即无论是否需要,都会对两边进行求值。

更多信息请点击此处 - https://docs.oracle.com/javase/specs/jls/se8/html/jls-15.html#jls-15.22.2

但是,这听起来是一个糟糕的设计。事实上,由于这个原因,一些代码分析工具会自动将这些运算符(operator)标记为可疑。通常,您希望在每个方法对对象的状态进行一些更改时调用它们,这不是您在 if 语句中所期望的。但你的方法名称并不表明这一点。您想实现什么目标?

关于Java if 语句和 boolean 表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53272187/

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