Groovy:什么是“?”意味着在这种情况下?

我是Groovy的新手,无法理解此代码的功能。Groovy:什么是“?”意味着在这种情况下?

def aList 

def foo = aList.size() == 1 ? aList[0] : null

试图打破它,我觉得

  • aList.size() == 1 ?被断言列表的大小为1,而不是空。
  • aList[0] : null意味着在aList[0]默认值设置为空

foo因此是在列表中的第一项的值,并且默认为null。

这是正确的,还是我误解了这是如何表现?

回答:

这是一个ternary conditional operator

它采用以下形式:

SOME_BOOLEAN ? IF_TRUE : ELSE 

所以你的情况,这是一样的:

def foo = null 

if(aList.size() == 1) {

foo = aList[0]

}

回答:

它的一个行的if语句。扩大这应该是这样的:

if(aList.size() == 1) { 

foo = aList[0];

}

else {

foo = null;

}

。希望清除它。

以上是 Groovy:什么是“?”意味着在这种情况下? 的全部内容, 来源链接: utcz.com/qa/264918.html

回到顶部