Недавно я увидел код, используя это:
boolean val = something();
val |= somethingElse();
Интересная часть - это оператор | = (двоичный тип), выполненный по булевскому примитивному типу.
Меня удивило, что | = существует для boolean, как если бы это был целочисленный тип, и искал спецификацию Java для этого оператора, но не смог найти.
Мне было бы любопытно, будет ли правильный операнд оценен, если значение left уже истинно.
Может ли кто-нибудь указать мне на эту спецификацию Java?