Объяснение для?и: операторы - PullRequest
0 голосов
/ 15 февраля 2011

В моем классе контроллеров у меня есть следующая строка проверки моей модели.Кто-то, пожалуйста, осветите меня и объясните мне, что если атрибут модели не равен нулю, он создает новый атрибут модели

Object modelObj=pr.getPortletSession().getAttribute("tickets_from_Model");
TicketModel ticketmodel=modelObj!=null ? (TicketModel)modelObj:new TicketModel();

Пожалуйста, объясните ? и : в строке

Ответы [ 2 ]

4 голосов
/ 15 февраля 2011

Это оператор токаря

condition ? if condition is true execute this code : else this code

например:

int i = 0;

String str =( i==0 ? "i is equal to zero" : "i is non zero");
1 голос
/ 15 февраля 2011

Чтобы быть немного яснее,? и: являются компонентами троичного оператора . При использовании троичного оператора вы ставите свое условие перед?, Оператор для выполнения, если условие истинно после?, И оператор для выполнения, если условие ложно после ':'. Так что действует так:

<code>
if condition ? then do this : else do this. 
isRunning ? doSomething() : doSomethingElse();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...