Java8 логический пост унарный оператор - PullRequest
1 голос
/ 24 сентября 2019

Есть ли в Java 8 постнарный оператор для примитивных логических выражений?

int a = 1;
a++; //look at then increment

boolean bool = true;
???

1 Ответ

2 голосов
/ 24 сентября 2019

Нет, такого оператора нет.

Даже ! не делает то же самое, что ++ делает с числовыми типами:

  • ++ updates a variable (или элемент массива);
  • ! отрицает значение выражения .Применительно к переменной значение переменной не изменяется.

Наиболее похожая вещь на «оператор отрицания» будет

(aBoolean ^= true)

, но это «предварительное отрицание»вместо «после отрицания».

Вы можете придумать «оператор после отрицания», используя операторы без короткого замыкания:

(aBoolean | ((aBoolean ^= true) & false)

Но на самом деле: не делайте этого.Это сбивает с толку.

...