问题记录 清疚 2022-06-15 11:18 300阅读 0赞 前置条件 Map<Long, List<Long>> noteAndAttachmentIdMap = new HashMap<Long, List<Long>>(); Map<Long, ContactNoteAttachment> attachmentMap = new HashMap<Long, ContactNoteAttachment>(); 问题代码 for (ContactNote contactNote : contactNotes) { List<Long> attachIdList = noteAndAttachmentIdMap.get(contactNote.getId()); if (CollectionUtils.isNotEmpty(attachIdList)) { contactNoteAttachments = new ArrayList<ContactNoteAttachment>(); for (Long id : attachIdList) { contactNoteAttachments.add(attachmentMap.get(id)); } } contactNote.setAttachmentList(contactNoteAttachments); } 修正后的代码 for (ContactNote contactNote : contactNotes) { List<Long> attachIdList = noteAndAttachmentIdMap.get(contactNote.getId()); if (CollectionUtils.isNotEmpty(attachIdList)) { contactNoteAttachments = new ArrayList<ContactNoteAttachment>(); for (Long id : attachIdList) { contactNoteAttachments.add(attachmentMap.get(id)); } contactNote.setAttachmentList(contactNoteAttachments); } } **问题描述** 在相邻的多个数据中,当为首的那条数据存在数据之后,直到另一个存在数据的记录为止的过程中的所有数据都存在跟第一条数据相同的附件信息列表 **原因** 是由于在判断附件列表非空之后给contactNoteAttachments赋值并注入数据,但是真正使用该数据的位置却是在判断之外,因而导致判断不通过的时候,contactNoteAttachments依然携带着上次的数据记录导致出现此问题。 **解决方案** 如修正后代码所示,contactNoteAttachments对象的使用放在判断作用域内部,这个时候只有存在数据的才会执行赋值,另外这个位置也可以在赋值使用完毕之后再给该对象销毁 contactNoteAttachments=null;
相关 问题记录 \\\\\\\\\\2019-11-14\\\\\\\\\\ -------------------- 1. 变量名不要使用 flag 2. 不要在遍历的过程中,删除遍历 梦里梦外;/ 2023年06月13日 06:23/ 0 赞/ 27 阅读
相关 问题记录 ArrayList指定初始容量后不能真正初始化 创建一个ArrayList对象,传入整型参数 public void arrayListConstructor( ゞ 浴缸里的玫瑰/ 2023年06月05日 12:39/ 0 赞/ 46 阅读
相关 硬件问题记录- No.1 LOD在no load情况下,输出异常,不是标称值。 LDO SPX3819M5-L-3.3测试,在没有负载的情况下,测量的值不稳定,而且容易损坏(这个可能是 红太狼/ 2022年10月13日 15:54/ 0 赞/ 192 阅读
相关 硬件问题记录 No.1、串口大于15cm的数据传输时出现问题 停车场的A板,串口问题,串口接收受外部影响。115200,1bit stop,8bit,无奇偶校验。 问题现象是:A板 川长思鸟来/ 2022年10月13日 05:21/ 0 赞/ 185 阅读
相关 Arch问题记录 Arch问题记录 -------------------- 文章目录 Arch问题记录 1.蓝牙不能自动连接鼠标 2.安装mari 红太狼/ 2022年09月04日 08:47/ 0 赞/ 549 阅读
相关 小问题记录 遇到的问题记录: 1、在头文件中定义了变量,想作为全局变量使用,然后我在几个文件中都包含了这个头文件,导致重复定义。 正确的做法:1、在一个.c文件中定义,然后在用到的文件 我就是我/ 2022年08月21日 00:12/ 0 赞/ 176 阅读
相关 问题记录 1. 头文件重复编译处理,在被重复定义的头文件前加\program once 或者\if !defined(AFX\_SERIALPORTCOMM\_H 以你之姓@/ 2022年06月18日 10:49/ 0 赞/ 294 阅读
相关 问题记录 前置条件 Map<Long, List<Long>> noteAndAttachmentIdMap = new HashMap<Long, List<Long>>() 清疚/ 2022年06月15日 11:18/ 0 赞/ 301 阅读
相关 问题记录 前置条件 Map<Long, List<Long>> noteAndAttachmentIdMap = new HashMap<Long, List<Long>>() ゝ一纸荒年。/ 2022年04月06日 06:48/ 0 赞/ 332 阅读
相关 日常问题记录 centos7下面yum nginx 添加一下nginx源: rpm -ivh [http://nginx.org/packages/centos/7/noar 痛定思痛。/ 2022年03月14日 14:18/ 0 赞/ 347 阅读
还没有评论,来说两句吧...