eachWithIndex循环不稳定

时间:2018-10-15 02:31:51

标签: java loops grails groovy each

我有如下代码

           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]错误   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始终具有相同的值,并且永远不会为空。

data value

请告知这里可能是什么问题?

1 个答案:

答案 0 :(得分:1)

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

$(document).ready(function () {
    $(".hehe").click(function () {
       var price=parseFloat($(".pPrice1").text()).toFixed(2);
       var quantity=parseFloat($(".quan1").val()).toFixed(2);
       var total=parseFloat(price*quantity).toFixed(2);
        $(".xx").append("<tr>" +
                                "<td>" + $(".pName1").text() + "</td>" +
                                "<td>" + price + "</td>" +
                                "<td>" + quantity + "</td>"
                                 + "<td>" + total + "</td>" +
                                + "</tr>")

    });
});

如果这种情况不时发生-可能您的结果?.data 有时已经作为列表出现,有时已经作为地图出现