単純なif-elseよりもJavaでブール値を否定する良い方法はありますか?
if (theBoolean) {
theBoolean = false;
} else {
theBoolean = true;
}
theBoolean = !theBoolean;
theBoolean ^= true;
変数が 4 文字より長い場合、キーストロークが少なくなります
編集: コードは、Google 検索用語として使用されると、有用な結果を返す傾向があります。上記のコードはそうではありません。それが必要な人にとっては、ここで説明されているビット単位のXORです。
「明白な」方法(ほとんどの人にとって)
theBoolean = !theBoolean;
「最短」の方法(ほとんどの場合)
theBoolean ^= true;
「最も視覚的な」方法(最も不確実)
theBoolean = theBoolean ? false : true;
theMethod( theBoolean ^= true );
代入演算子は常に割り当てられたものを返すため、これはビットごとの演算子を介して値を切り替え、メソッド呼び出しで使用される新しく割り当てられた値を返します。
前:
boolean result = isresult();
if (result) {
result = false;
} else {
result = true;
}
後:
boolean result = isresult();
result ^= true;