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