如何在每次调用方法时使布尔变量在true和false之间切换?

2022-08-31 21:05:19

我正在尝试编写一个方法,当调用时,将布尔变量更改为true,当再次调用时,将相同的变量更改为false,依此类推。

例如:调用方法 -> 布尔值 = true -> 调用方法 -> 布尔值 = false -> 调用方法 -> 布尔值 = true

所以基本上,

if (a = false) { a = true; }
if (a = true) { a = false; }

我不确定如何实现此目的,因为每次调用该方法时,布尔值都会更改为 true,然后再次更改为 false。


答案 1
value ^= true;

这就是值xor-equals true,每次都会翻转它,并且没有任何分支或临时变量。


答案 2

在不看它的情况下,将其设置为不自身。我不知道如何用Java编写代码,但在Objective-C中,我会说

booleanVariable = !booleanVariable;

这将翻转变量。