我是Groovy的新手,并且无法理解此代码的功能。
def aList
def foo = aList.size() == 1 ? aList[0] : null
试图将其分解,我认为
aList.size() == 1 ?
断言列表的大小为1而不是null。aList[0] : null
表示aList[0]
的值默认为null 因此foo
是列表中第一项的值,默认为null。
这是正确的,还是我误解了这是什么意思?
答案 0 :(得分:4)
那是ternary conditional operator
采取以下形式:
SOME_BOOLEAN ? IF_TRUE : ELSE
所以在你的情况下,它与:
相同def foo = null
if(aList.size() == 1) {
foo = aList[0]
}
答案 1 :(得分:1)
它是一行if语句。扩展这将是这样的:
if( aList.size() == 1) {
foo = aList[0];
}
else {
foo = null;
}
希望能够解决它。