当前位置: 首页 > news >正文

网站开发人员有哪些深圳市建设局网站金建

网站开发人员有哪些,深圳市建设局网站金建,个人服务器网站备案,wordpress不使用ip访问一般有这种问题,方法中至少会有List或者Map下的至少两个子类,有可能参数类型相同,也有可能不同都有可能触发这个问题!其主要原因是使用了ArrayList进行删除操作或者使用iterator遍历集合的同时对集合进行修改都有可能会出现这个问题 ArrayList属于List下的子类 需要区分的是Li…

一般有这种问题,方法中至少会有List或者Map下的至少两个子类,有可能参数类型相同,也有可能不同都有可能触发这个问题!其主要原因是使用了ArrayList进行删除操作或者使用iterator遍历集合的同时对集合进行修改都有可能会出现这个问题
ArrayList属于List下的子类

需要区分的是List在java中有两个属于两个不同的包,这里说的是Util包下的List!两个类一个是接口一个是Class类(基础知识了吧算是)

在这里插入图片描述

针对此问题的ArrayList源码解析https://blog.csdn.net/qq_43705131/article/details/122607384

问题截图及源码触发部分代码
在这里插入图片描述
业务问题代码
在这里插入图片描述

不管泛型使用的是同种参数还是不同参数都要注意这个问题

场景复现

业务场景:

需要一个接口返回一个List对象,但是在List中需要调用另一个接口并将该接口的返回结果插入List中(如上图代码注释所写)

这时候类型的兼容性问题就出现了

代码场景:

首先:调用接口返回一个集合,需要集合中的全部数据及拿到集合中的ID
List<Map<String, List>> periodicLQ = periodicObservationMapper.periodicLQ(pointId,dir, lineNo, startDate, endDate);
用于调用另一个接口查询该ID下的全部值并且赋到一个List中用于返回

List structureDetailInfo = structureDetailInfoMapper.selectByPavementStructureInfoIds(ids);
代码实现:(问题复现)

这样写在List structureDetailInfo = structureDetailInfoMapper.selectByPavementStructureInfoIds(ids);

{//查询结构内     基本数据及  联合数据 ,返回统计结果     拿到structure_info 的 ID拿到结构数据将此以数组返回到VOList<Map<String, List<StructureDetailInfoPO>>> periodicLQ = periodicObservationMapper.periodicLQ(pointId,dir, lineNo, startDate, endDate);Map<String, List<StructureDetailInfoPO>> structureInfo = new HashMap<>();//用于存储接口获取到的所有id值List<Long> ids = new ArrayList<>();for (Map<String, List<StructureDetailInfoPO>> item: periodicLQ) {if (!item.isEmpty()){Long id = Long.valueOf(String.valueOf(item.get("id")));ids.add(id);for (int i = 0;i <= item.size();i++){List<StructureDetailInfoPO> structureDetailInfo = structureDetailInfoMapper.selectByPavementStructureInfoIds(ids);structureInfo.put("structureInfo",structureDetailInfo);//System.out.println(" structure detail info size : " + structureDetailInfo);//resultMap.add(structureInfo);}result.add(item);//result.add(structureInfo);//break;}System.out.println(" result size : " + result);}return result;}

解决方案–>避免修改ArrayList或者引用的其他List类和Map中的子类

创建一个名为 resultMap 的临时列表,并在循环中将结构信息添加到该列表中。最后,我们返回 resultMap 列表,而不是修改 result 列表用于返回。这就能够解决 ConcurrentModificationException 异常的问题,因为这样就创建了一个中间变量用来存储结果,避免修改了原来的result列表(List)


{//查询结构内     基本数据及  联合数据 ,返回统计结果     拿到structure_info 的 ID拿到结构数据将此以数组返回到VOList<Map<String, List<StructureDetailInfoPO>>> periodicLQ = periodicObservationMapper.periodicLQ(pointId,dir, lineNo, startDate, endDate);List<Map<String, List<StructureDetailInfoPO>>> resultMap = new ArrayList<>();Map<String, List<StructureDetailInfoPO>> structureInfo = new HashMap<>();//用于存储接口获取到的所有id值List<Long> ids = new ArrayList<>();for (Map<String, List<StructureDetailInfoPO>> item: periodicLQ) {if (!item.isEmpty()){Long id = Long.valueOf(String.valueOf(item.get("id")));ids.add(id);for (int i = 0;i <= item.size();i++){if (i == item.size()){List<StructureDetailInfoPO> structureDetailInfo = structureDetailInfoMapper.selectByPavementStructureInfoIds(ids);structureInfo.put("structureInfo",structureDetailInfo);//System.out.println(" structure detail info size : " + structureDetailInfo);}else {continue;}//resultMap.add(structureInfo);}resultMap.add(item);resultMap.add(structureInfo);//break;}System.out.println(" result size : " + resultMap);}return resultMap;}

:w最后总结:
代码中有
Long id = Long.valueOf(String.valueOf(item.get(“id”)));

在写这个的时候,一开始用了toString,编译不报错但运行有错,也建议大家使用这种包围的方法取代.***的方法(这种问题一定会随着jdk的不断更新有所改正)

此外在对断点进行一步步跟踪到源代码时发现的问题触代码如下

如图所示我们在读过SQLsession等常规源码后发现代码执行到了此类中,并确认了SQL是否执行正确
在这里插入图片描述
在左下角即为控制程序执行的断点按钮,可以手动点击||,这样resume按钮就会变绿变亮

在这里插入图片描述

问题触发代码:↓↓↓
在这里插入图片描述

http://www.yayakq.cn/news/334146/

相关文章:

  • 台州建设工程网站wordpress 评论到微博
  • 本地常州微信网站建设深圳外贸网站制作公司
  • 响应式网站 站长平台app定制大概多少钱
  • 怎样做企业网站锡林浩特建设局网站
  • 建网站的方案有哪些公司建设网站
  • 唐山路南网站建设支付宝网站开发流程
  • 网贷审核网站怎么做深圳品牌医疗网站建设
  • 周至做网站网站服务器升级需要多久
  • 合肥网站优化平台百度搜索推广是什么
  • 色彩搭配的网站在线网站建设建议
  • 海口 网站建设网站怎么进行优化排名
  • 旅游的网站外包网接单
  • 一级a做爰片免费的网站有吗动感网站模板
  • 广东建设工程质量安全协会网站网络品牌策划
  • discuz 手机网站郑州网站建设需要多少钱
  • 盈利网站备案电商热门关键词
  • 哪个网站可以免费做初级试题wordpress如何在首页不显示某类分类目录下的文章?
  • 淮北网站网站建设做网站的图片要多少像素
  • 怎样做单页销售网站孩子学编程最佳年龄
  • 网站怎么做营销策划贵州易广建设集团网站
  • 网站运营推广公司wordpress 添加账号
  • 网站建设情况报告南宁市网站开发建设
  • excel表格做网站我的世界查询建筑网站
  • aspcms网站后台登陆界面模版开发网站平台
  • 如何搭建静态网站上海专业网站建设排行
  • 惠州制作公司网站网业qq
  • 网站登记备案表凡客建站免费的可以用多久
  • 织梦网站安全做外贸网站违法吗
  • 消费者联盟网站怎么做什么设计师最吃香
  • 票务网站模板中关村能力建设网站