通过查看JavaFX https://github.com/HanSolo/submitbutton/blob/master/src/main/java/eu/hansolo/submitbutton/Demo.java中的一些自定义库。
我带来了这段代码:
if (toggle) { //where toogle is a boolean
if (progress > 0.75) {
progress = 0;
button.setFailed();
timer.stop();
toggle ^= true;
}
} else {
if (progress > 1) {
progress = 0;
timer.stop();
toggle ^= true;
}
}
}
问题
为什么编码员写了toggle ^= true;
我理解它的作用following the table below:
A B A ^ B
0 0 0
0 1 1
1 0 1
1 1 0
改为使用toggle=!toggle;
?
这是一种模式,它与任何性能改善有关,还是个人偏好?我很好奇,但是第一次看到这个... ...
答案 0 :(得分:1)
FWIW,它不是布尔值之间的“按位操作”。这是一个“逻辑运算”。布尔运算符和整数之间的运算符之间的运算符是不同的,但是它们是相关的。