在一个对象中切换bool

时间:2017-03-08 21:28:08

标签: java oop boolean toggle

所以我的代码工作得很好,但是唯一让我烦恼的是我的IDE提出了一个建议说"真值分配给了#alarm;'永远不会被使用",我无法从我的代码中摆脱警报状态,因为它会引发更多错误。有没有人知道为什么会发生这种情况,如果是这样的话重做我的代码所以它的效率没有我变量下的灰色下划线。

            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; 

1 个答案:

答案 0 :(得分:3)

x ^= yx = x ^ y的简写。由于您不需要作业的结果,您可以说

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

可以进一步简化为

clockObject.setAlarmSet(!alarmState);