为了账号安全,请及时绑定邮箱和手机立即绑定

eachWithIndex 循环不稳定

eachWithIndex 循环不稳定

慕的地8271018 2021-11-17 17:14:58
我有如下代码           Map data = result?.data as Map           data.eachWithIndex { dataItem, idx ->                if (dataItem) {log.info dataItem}}我在这里遇到的问题是data.eachWithIndex { dataItem, idx ->. 这有时完美无缺,有时会抛出以下错误2018-10-15 10:07:31,569 [quartzScheduler_Worker-1] ERROR listeners.ExceptionPrinterJobListener - 作业中发生异常:Grails 作业消息:groovy.lang.MissingMethodException:没有方法签名:java.util.ArrayList.entrySet() 是适用于参数类型: () 值: [] 可能的解决方案: toSet(), toSet(), intersect(java.lang.Iterable), intersect(java.lang.Iterable), intersect(java.util.Collection), every ()在所有情况下,我都检查过,data始终具有相同的值,并且从未为空。请指教这里可能有什么问题?
查看完整描述

1 回答

?
慕尼黑5688855

TA贡献1848条经验 获得超2个赞

result?.data是列表的实例(查看“as Map”操作后的数据类,它变成了 ArrayList1_groovyProxy...)您可以遍历列表(并根据需要构建地图):


Map data = [:]

result?.data?.eachWithIndex { dataItem, idx ->

   if (dataItem) {

      log.info dataItem

      data[idx] = dataItem

   }

}

如果这种情况不时发生 - 可能是您的结果? .data已经有时作为 List 有时作为 Map


查看完整回答
反对 回复 2021-11-17
  • 1 回答
  • 0 关注
  • 191 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信