美文网首页
解决数组迭代 ConcurrentModificationExc

解决数组迭代 ConcurrentModificationExc

作者: BscLiao | 来源:发表于2018-01-22 08:42 被阅读0次
// 先获取一级回复
        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异常。

相关文章

网友评论

      本文标题:解决数组迭代 ConcurrentModificationExc

      本文链接:https://www.haomeiwen.com/subject/wlnkaxtx.html