2017-01-07 2 views
0

Я пытаюсь создать сумму, но я хочу, чтобы все значения null как 0 значения, чтобы он мог выполнять сумму. Однако я получаю эту ошибку;Как отличить null до 0 в groovy scripting

Cannot cast object '[null, null, null, null, null, null, null, null, 
    null, null, null, null, null, null, null, null, null, null, null, 
    null, null, null, null, null, null, null, null, null, null, null, 
    null, null, null, null, null, null, null, null, null, null, null, 
    null, null, null, null, null, null, null, null, null, null]' 
    with class 'java.util.ArrayList' to class 'int' 

Как я могу отбросить все нули в 0?

Ниже код у меня есть:

def resultSearchCostGroup = json.xxx.xxx.xxx.search 
    int totalSearchCostGroup = json.xxx.xxx.xxx.search.collectMany{ it ?: 0 }.sum() 
    log.info resultSearchCostGroup 
+0

do-something with series, кажется идеальным кандидатом на закрытие? Не могу помочь с кодом, для меня слишком мало деталей, чтобы представить –

+0

Вы уверены, что хотите использовать 'collectMany'? Можно ли показать json? – Rao

+0

Можете ли вы разместить правильный JSON? –

ответ

0

Ваш вы можете просто flatten свою коллекцию, а затем collect заменить аннулирует?

json.products.costGroups.costLines.search.flatten().collect{it?:0}.sum() 
+0

Привет, Рэндалл, значит, я должен установить его как свойство, даже если я только требую его в качестве чека? Потому что я получаю нет такого свойства для класса error – BruceyBandit

+0

Я не понимаю ваш вопрос. Можете ли вы привести пример? –

+0

Нет такого свойства: для класса: Script1 - это ошибка, которую я получаю, когда я заменяю свою строку кода вашей строкой кода, и я не уверен, что мне нужно сделать, чтобы исправить эту ошибку. – BruceyBandit

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