java - 无法返回列表在 Java 中使用构建器
问题描述
我有一个返回的保存方法CommandDTO
。
// ...
final MenuItem saved = menuItemRepository.save(menuItem);
return CommandDTO.builder().uuid(saved.getUuid()).build();
这是我的CommandDTO
:
@Value
@RequiredArgsConstructor
@Builder
public class CommandDTO {
UUID uuid;
}
另一方面,我将方法更改为接受请求列表而不是单个请求,它应该将已保存记录的列表返回为List<CommandDTO>
. 但是,我无法创建必要的 return 子句:
final List<MenuItem> saved = menuItemRepository.saveAll(menuItems);
// here I have the uuid list of the saved records
List<UUID> uuidList = saved.stream().map(MenuItem::getUuid)
.collect(Collectors.toList());
return List<CommandDTO>().builder().uuid(uuidList).build(); // ???
我应该如何返回值List<CommandDTO>
?
解决方案
调用smap
的流UUID
来转换它们。
return saved.stream().map(MenuItem::getUuid)
.map(uuid -> CommandDTO.builder().uuid(uuid).build())
.collect(Collectors.toList());
推荐阅读
- python - Python:从 json 数据中解析 html 标签
- html - 从 PHP 中的 iframe url 获取值
- go - golang:具有可变数量接口参数的函数
- python - 如何用该 DataFrame 中的另一列覆盖 PySpark DataFrame 中的现有列?
- scala - scala 类实例能否生成未在其构造函数中定义的变量?
- reactjs - 配置 Amplify 以使用现有的 Cognito 令牌
- javascript - WebView2:在 C# 中从 Javascript 代码设置对象属性
- excel - 在没有安装 excel 的情况下使用 VB.NET 读取 Excel
- regex - 正则表达式不像预期的那么贪婪 /^(\d+)[^_]/
- python - Python通过指向一个特定的字符串来分割一组字符