Есть ли способ выполнить технику "andand" в Java? - PullRequest
1 голос
/ 23 ноября 2011

Как описано здесь :

Мы связываем вызов объекта и его метода (или свойства) с помощью логического оператора AND (&&), поэтому метод вызывается только в том случае, еслиобъект правдив (не ноль).Этот метод обычно известен как «andand».

В Ruby мы можем сделать это:

name = @person && @person.name

Таким образом, мы не делаем 'нужно явно проверить, является ли @person нулевым.

Есть ли подобный метод в java?

Ответы [ 4 ]

5 голосов
/ 23 ноября 2011

Есть ли в java похожая техника?

Нет ничего более краткого.

Было предложение от Project Coin для добавлениятак называемый оператор "Элвиса" и связанные с ним Java 7. Однако он не сделал разрез.

4 голосов
/ 23 ноября 2011

Попробуйте ternary operator Однако это не очень похоже на && технику, но работает только так.

person != null ? peson.name : <default name>
2 голосов
/ 23 ноября 2011

Нет, только при проверке строк вы можете достичь этого путем инвертирования порядка сравнения.

Вместо

if (role != null && role.equals("admin"))

вы бы написали

if ("admin".equals(role))
0 голосов
/ 23 ноября 2011

Java имеет оценку короткого замыкания .Проблема в том, что Java не предполагает, что null эквивалентен false (и не равен нулю - эквивалент true).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...