我正在尝试将多个Optional isPresent转换为Optional。flatMap,但不知道如何实现。
private Optional<Commit> getCommit1 (String id, Integer number) {
**Optional<Revision> revision = repository.findById(id,number);
if (revision.isPresent()) {
Optional<Commit> commit = commitRepository.findById(revision.get().getCommitId());
if (commit.isPresent()) {
return commit;
}
}
return Optional.empty();**
}
我想将粗体部分转换为单个可选。有人能帮我吗
1条答案
按热度按时间zpgglvta1#
正如你提到的,你应该使用 flatMap 方法。一种方法是这样的:
此外,您可以为 map 和 flatMap 参数使用方法引用,从而获得更简洁的代码: