在groovy []中,当我期望0时,.sum()返回null

时间:2010-08-05 23:49:06

标签: groovy

在groovy []。sum()返回 null ,当我期望 0

2 个答案:

答案 0 :(得分:8)

根据http://jira.codehaus.org/browse/GROOVY-2411,这是sum()的预期行为 对于一系列字符串也是如此。解决方案是使用[] .sum(0),它将返回0。

答案 1 :(得分:4)

如果你真的想要一个空列表为零,你总是可以使用:

List foo = []
def bar = foo.sum() ?: 0
assert bar == 0

如果左侧为空,则elvis运算符仅评估右侧。