【问题标题】:Explanation for ? and : operators解释 ?和 : 运算符
【发布时间】:2011-02-15 07:39:03
【问题描述】:

在我的控制器类中,我对我的模型进行了以下检查。有人请说明一下,并解释一下,如果模型属性不为空,是不是在创建一个新的模型属性

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

请在行中解释?:

【问题讨论】:

  • 是我遗漏了什么,还是问题遗漏了什么?

标签: java string session model if-statement


【解决方案1】:

是车工

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");

【讨论】:

  • 评估这个表达式执行这个代码好。并且名称是 ternary(因为它需要三个参数),而不是 turnery
【解决方案2】:

为了更清楚一点, ?和 : 是ternary operator 的组成部分。使用三元运算符时,您将条件放在 ? 之前,条件为真时执行的语句放在 ? 之后,条件为假时执行的语句放在 ':' 之后。所以它的行为类似于:


if condition ? then do this : else do this. 
isRunning ? doSomething() : doSomethingElse();

【讨论】:

    猜你喜欢
    • 2017-03-23
    • 2017-12-24
    • 2015-06-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-22
    • 2013-01-01
    相关资源
    最近更新 更多