解决数组迭代 ConcurrentModificationException异常的方法(复制)

// 先获取一级回复
        List<Reply> replies = dao.getReply(targetId);
        // 解决数组迭代 ConcurrentModificationException异常的方法(复制)
        List<Reply> copyReplies = new ArrayList<Reply>();
        copyReplies.addAll(replies);
        for (Reply comment : replies) {
                List<Reply> replylist = dao.getReply(comment.getId());
                if (null != replylist) {
                    for (Reply ry : replylist) {
                        copyReplies.add(ry);
                        // 迭代调用,把子回复加到一级回复上
                        List<Reply> replyItm = new ArrayList<Reply>();
                        replyItm = getReplyItm(ry.getId());
                        if (null != replyItm) {
                            for (Reply Itm : replyItm) {
                                copyReplies.add(Itm);
                              }
                          }
                      }
                    }  
                }

需要操作查表所得的replies(循环遍历然后插入),如果不对其使用复制操作,将导致数组的ConcurrentModificationException异常。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。