2010-08-05 4 views

ответ

7

http://jira.codehaus.org/browse/GROOVY-2411 Согласно этому, как ожидается, поведение как сумма() работает для массива строк. Решение состоит в том, чтобы использовать [] .sum (0), который будет возвращать 0.

4

Если вы действительно хотите ноль с пустым списком, вы всегда можете использовать:

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

оператор Элвиса только оценить правой стороны, если левая сторона равна нулю.

+0

Это правда, и я делал это раньше, чтобы обойти проблему. Однако .sum (0) кажется мне чище – Peter

Смежные вопросы