在对象中切换 bool

toggle bool in an object

所以我的代码一切正常,但是唯一真正困扰我的是我的 IDE 提出了一个建议说 "the value true assigned to 'alarmState' is never used",我无法摆脱警报状态我的代码,因为它引发了更多错误。有谁知道为什么会发生这种情况,如果是这样,请重做我的代码,使其在我的变量下没有灰色下划线的情况下同样有效。

            case 3 :
                System.out.print("The alarm state is now : ");
                boolean alarmState = clockObject.isAlarmSet();
                clockObject.setAlarmSet(alarmState ^= true); //This value
                System.out.print(clockObject.isAlarmSet());
                break; 

x ^= y 对于 x = x ^ y 是 shorthand。因为你不需要赋值的结果,你可以直接说

clockObject.setAlarmSet(alarmState ^ true); // use ^ instead of ^=

可以进一步简化为

clockObject.setAlarmSet(!alarmState);