gpt4 book ai didi

java if 条件 == false vs !运算符(operator)

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

当我查看同事的代码时,我发现了下面的代码,这让我思考

if((a == d && b < c) == false){
}

但我看到人们更频繁地使用 ! 运算符,而不是检查 boolean 值 == false

我在代码中没有看到任何错误,但只是想知道哪种方法更好。我在 Google 上搜索了答案,但没有得到任何有用的信息。

最佳答案

确实有时会看到 == boolean 值。

BAD STYLE                 GOOD STYLE
c == false <=> !c
c != true

c == true <=> c
c != false

这可能是由于 ! 不太容易识别(not 关键字会更清晰)。但总的来说,这似乎是一个感知问题:认为“c 是假”,为 boolean 值 true 和 false 添加特殊的(类似值)含义。

这是一种糟糕的风格,因为它显示出缺少心理否定跳跃,这可能是不擅长 boolean 逻辑的标志。如:

if ((a == d && b < c) == false) {
if (!(a == d && b < c)) {
if (a != d || b >= c) {

附注

值得商榷,尽管c == true在客观上是绝对多余的,并且c != false散发出两种否定的味道。

关于java if 条件 == false vs !运算符(operator),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26014694/

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