// 先获取一级回复
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异常。
网友评论