Java 递归实现评论多级回复
最近工作需要做一个评论功能,除了展示评论之外,还需要展示评论回复,评论的回复的回复,这里就用到了递归实现评论的多级回复。
评论实体
数据库存储字段: id
评论 id、parent_id
回复评论 id、message
消息。其中如果评论不是回复评论,parent_id
为-1
。
创建一个评论实体 Comment
:
复制代码
查询到所有的评论数据。方便展示树形数据,对Comment
添加回复列表
List<ViewComment> children
ViewComment
结构如下:
复制代码
添加非回复评论
非回复评论的parent_id
为-1
,先找到非回复评论:
复制代码
递归添加回复评论
遍历每条非回复评论,递归添加回复评论:
复制代码
遍历每条非回复评论。
非回复评论
id
匹配到评论的parentId
,添加到该评论的children
列表中。递归调用。
结果展示:
github 源码
https://github.com/jeremylai7/java-codes/tree/master/basis/src/main/java/recurve
评论