当前位置: 首页> 汽车> 维修 > 山东青岛市南区新冠疫情最新消息_装修设计公司取名_seo快速排名多少钱_广州外贸推广

山东青岛市南区新冠疫情最新消息_装修设计公司取名_seo快速排名多少钱_广州外贸推广

时间:2025/7/16 23:47:31来源:https://blog.csdn.net/weixin_42164754/article/details/143595657 浏览次数: 0次
山东青岛市南区新冠疫情最新消息_装修设计公司取名_seo快速排名多少钱_广州外贸推广

问题描述
在这里插入图片描述
原因分析:

for(int j=0;j<fhorderList.get(j).getGoodsInfos().size();j++) {spmx.addProperty("erp_code", fhorderList.get(j).getGoodsInfos().get(j).getErp_code());spmx.addProperty("num", fhorderList.get(j).getGoodsInfos().get(j).getNum());dataArray.add(spmx);
}jsonObject.add("goodsInfo", dataArray);

这里的问题在于,您在循环条件中使用了fhorderList.get(j),而在循环体内部也使用了相同的j来获取GoodsInfos中的元素。这会导致在第一次迭代(j=0)时正确执行,但在第二次迭代(j=1)时,如果fhorderList.get(1)不存在(例如当fhorderList的大小为1时),就会抛出IndexOutOfBoundsException异常。

正确的做法应该是先获取当前订单的GoodsInfos,然后遍历这个GoodsInfos列表。以下是修正后的代码:

 // 获取当前订单的商品信息List<GoodsInfo> goodsInfos = fhorderList.get(i).getGoodsInfos();// 循环添加订单明细for (int j = 0; j < goodsInfos.size(); j++) {JsonObject spmx = new JsonObject(); // 每次循环创建新的JsonObject对象spmx.addProperty("erp_code", goodsInfos.get(j).getErp_code());spmx.addProperty("num", goodsInfos.get(j).getNum());dataArray.add(spmx);}// 添加商品信息数组到jsonObjectjsonObject.add("goodsInfo", dataArray);
关键字:山东青岛市南区新冠疫情最新消息_装修设计公司取名_seo快速排名多少钱_广州外贸推广

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: