@Override public List<User> list(User user) { List<User> list = new ArrayList<>(); LambdaQueryWrapper<Collect> wrapper = new LambdaQueryWrapper<>(); wrapper.eq(Collect::getUserId,user.getId()); List<Collect> collects = collectMapper.selectList(wrapper); if (collects != null && collects.size() > 0){ for (Collect collect : collects) { Question question = questionService.getById(collect.getQuestionId()); collect.setQuestion(question); } } return null; }我的代码
时间: 2024-03-18 09:42:42 浏览: 59
intent传递ArrayList<T>
好的,这里是修改后的代码,你可以参考一下:
```java
@Override
public List<Collect> list(User user) {
List<Collect> collects = new ArrayList<>(); // 修改:返回Collect对象的集合
LambdaQueryWrapper<Collect> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(Collect::getUserId, user.getId());
collects = collectMapper.selectList(wrapper); // 修改:将查询结果赋值给collects集合
if (collects != null && collects.size() > 0) {
for (Collect collect : collects) {
Question question = questionService.getById(collect.getQuestionId());
collect.setQuestion(question);
}
}
return collects; // 修改:返回封装好的Collect对象集合
}
```
主要修改点如下:
1. 将返回值类型从List<User>修改为List<Collect>,因为该方法的作用是查询指定用户收藏的所有问题,并将问题信息封装到Collect对象中返回;
2. 将返回值赋值为一个空的Collect对象集合;
3. 修改return语句,返回封装好的Collect对象集合。
这样修改后,该方法就可以正常查询指定用户收藏的所有问题并返回封装好的Collect对象集合了。
阅读全文