是否有更好的方法来否定Java中的布尔值而不是简单的if-else?
if (theBoolean) { theBoolean = false; } else { theBoolean = true; }
Aaron Maenpa.. 513
theBoolean = !theBoolean;
我投票给类似于++ i和--i ;-)的!! bool算子 (29认同)
@ypnos:`!! bool ==!(!(bool))== bool`. (21认同)
那是......真的很明显 - 哎呀!不知道为什么我没想到它.谢谢. (14认同)
@ChristofferHammarström通过那个逻辑,那么不应该--integer == - ( - (整数))==整数? (12认同)
小智.. 158
theBoolean ^= true;
如果您的变量超过四个字母,则击键次数减少
theBoolean = !theBoolean;
theBoolean ^= true;
如果您的变量超过四个字母,则击键次数减少
"明显"的方式(对大多数人来说)
theBoolean = !theBoolean;
"最短"的方式(大部分时间)
theBoolean ^= true;
"最直观"的方式(最不确定)
theBoolean = theBoolean ? false : true;额外:在方法调用中切换和使用
theMethod( theBoolean ^= true );
由于赋值运算符始终返回已分配的内容,因此将通过按位运算符切换值,然后返回要在方法调用中使用的新分配值.