可能的重复:
为什么 Java 没有条件与和条件或运算符的复合赋值版本?(&&=, ||=)
为什么“&&=”运算符不存在?
今天上班写了如下LOC(b和b1的真实身份保密:)
b &&= b1; // meaning b = b && b1;
我盯着它看了几秒钟,意识到不存在这样的运营商。可以肯定的是,我点击了编译,但它失败了。为了确定我参考了标准。
没有这样的运营商是否有具体原因?我能想到一些:
b &&= b1
b = b && b1
由于 && 的短路评估,可能不等效。- &&= 很丑
- &&= 很少需要
我并不是说拥有这样的运营商会非常有用,不。我也没有声称上述三个原因中的任何一个或全部都不足以避免创建该运算符。我的问题如下:我正在监督是否有更严重的原因?