что ?на заводные переменные? - PullRequest
3 голосов
/ 29 ноября 2010

Я видел в каком-то отличном коде это:

trip.id?.encodeAsHTML()

В чем разница между использованием или отсутствием использования "id?"?? 1004 *

Ответы [ 3 ]

6 голосов
/ 29 ноября 2010

Проверяет, является ли объект нулевым или нет. Используя его, вы можете предотвратить исключение нулевого указателя.

Если вы используете его, вы должны использовать его для всего объекта (например: trip.id?.otherstuff?.morestuff?.encodeAsHTML()

4 голосов
/ 29 ноября 2010

Это называется «нулевой оператор разыменования». Разница в том, что если trip.id равно нулю, вместо NullPointerException, он вернет null в результате вызова метода.

1 голос
/ 29 ноября 2010

Это Groovy нуль-безопасный оператор.Он выполняет нулевую проверку перед разыменованием объекта.Подробнее о Groovy Operators здесь .

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