comments.setChildren(list.stream().filter(c -> comments.getId().equals(c.getPid())).collect(Collectors.toList()));详细解释这段代码
时间: 2024-05-20 19:11:44 浏览: 127
netty4.1.66.Final+springboot实现websocket交互 免费下载
这段代码使用了 Java 8 中的 Stream API,其作用是给一个父评论(`comments`)设置它的所有子评论(`children`)。具体解释如下:
1. `list.stream()`:将 `list` 转换成一个流(Stream)对象。
2. `.filter(c -> comments.getId().equals(c.getPid()))`:对流中的元素进行过滤,只保留 `pid` 等于父评论 ID 的评论。
3. `.collect(Collectors.toList())`:将过滤后的评论收集到一个新的 List 中。
4. `comments.setChildren(...)`:将步骤 3 中收集到的子评论列表设置到父评论对象中的 `children` 属性中。
简单来说,这段代码就是使用 Stream API 对评论列表进行过滤,找到所有属于当前评论的子评论并将它们设置为当前评论的子节点。
阅读全文