解决数组迭代 ConcurrentModificationExc

2018-01-22  本文已影响0人  BscLiao
// 先获取一级回复
        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异常。

上一篇 下一篇

猜你喜欢

热点阅读