如何在groovy脚本中将null强制转换为0

如何在groovy脚本中将null强制转换为0,groovy,Groovy,我试图创建一个求和,但我想将所有null值转换为0值,以便它可以执行求和。然而,我收到这个错误 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, nu

我试图创建一个求和,但我想将所有
null
值转换为
0
值,以便它可以执行求和。然而,我收到这个错误

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

您可以将您的集合展平,然后用
collect
替换空值

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

您可以将您的集合展平,然后用
collect
替换空值

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

对系列做些什么,似乎是结束的理想人选?无法帮助编写代码,对我来说细节太少,无法想象。您确定要使用
collectMany
?有可能显示json吗?你能发布一个正确的json吗?在上面的问题中发布完整的json对系列做些什么,似乎是结束的理想人选?无法帮助编写代码,对我来说细节太少,无法想象。您确定要使用
collectMany
?可以显示json吗?你能发布一个正确的json吗?在上面的问题中发布了完整的json Hi Randall,这是否意味着我必须将它设置为一个属性,即使我只需要它作为一个检查?因为我得到了一个没有这样属性的类错误,我不明白你的问题。你能举个例子吗?没有这样的属性:it for class:Script1-这是我在用你的代码行替换我的代码行时收到的错误,我不确定我需要做什么来修复这个错误没有完整的代码很难判断问题出在哪里。您可以尝试用命名参数替换
it
,例如:
json.products.costGroups.costLines.search.flatte().collect{search->search?:0}.sum()
Hi Randall,这是否意味着即使我只需要它作为检查,也必须将其设置为属性?因为我得到了一个没有这样属性的类错误,我不明白你的问题。你能举个例子吗?没有这样的属性:it for class:Script1-这是我在用你的代码行替换我的代码行时收到的错误,我不确定我需要做什么来修复这个错误没有完整的代码很难判断问题出在哪里。您可以尝试用命名参数替换
it
,如下所示:
json.products.costGroups.costLines.search.flatte().collect{search->search?:0}.sum()