В отличном [] .sum () возвращает пустой указатель, когда я ожидаю 0

В отличном [] .sum () возвращает пустой указатель, когда я ожидаю 0

6
задан Peter 5 August 2010 в 23:49
поделиться

2 ответа

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

8
ответ дан 9 December 2019 в 20:38
поделиться

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

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

Оператор elvis будет оценивать только правую часть, если левая часть равна null.

4
ответ дан 9 December 2019 в 20:38
поделиться
Другие вопросы по тегам:

Похожие вопросы: