in Groovy [] .sum() restituiscenulla quando mi aspettoin Groovy [] .sum() restituisce null quando mi aspetto 0
6
A
risposta
7
Secondo http://jira.codehaus.org/browse/GROOVY-2411 questo è il comportamento previsto come somma() funziona per un array di stringhe. La soluzione è quella di utilizzare [] .sum (0) che restituirà 0.
4
Se si vuole veramente a zero con un elenco vuoto, si può sempre usare:
List foo = []
def bar = foo.sum() ?: 0
assert bar == 0
L'operatore elvis valuterà solo il lato destro se il lato sinistro è nullo.
Questo è vero, e lo stavo facendo in precedenza per aggirare il problema. Tuttavia, .sum (0) mi sembra più pulito – Peter