Возможные дубликаты:
Почему Java не имеет составных версий условных и условных операторов или операторов? (& =, || =)
Почему оператор "&& =" не существует?
Сегодня на работе я написал следующий LOC (реальные тождества b и b1 являются конфиденциальными:)
b &&= b1; // meaning b = b && b1;
Я смотрел на него на пару секунд и понял, что такого оператора нет. Чтобы быть уверенным, я нажал на компиляцию, и это не удалось. Чтобы быть уверенным, я посоветовался со стандартом.
Существуют ли конкретные причины того, что таких операторов нет? Я могу думать о некоторых:
-
b &&= b1
иb = b && b1
могут быть не эквивалентны из-за короткого замыкания & &. - & = является уродливым
- & = редко требуется
Я не утверждаю, что было бы очень полезно иметь таких операторов, нет. Я также не утверждаю, что никаких или всех из трех вышеуказанных причин недостаточно, чтобы воздержаться от создания этого оператора. Мой вопрос заключается в следующем: может быть, есть гораздо более серьезная причина, над которой я наблюдаю?