java 8 lambda Optional.ofNullable



我的方法返回:

return Optional.ofNullable(solution)
.map(Solution::getPrice)
.map(solutionPrice-> BuildPayment(solutionPrice, name))
.orElse(Mono.just(Price.Builder.create().build()))
.map(price-> buildProcessResponse(solution, price));

当我调试时,似乎当解决方案为空时,该方法转到orElse并输入最终映射。

如果"解决方案"为空,我应该如何初始化?

从你的代码中,很难弄清楚你的代码的最终目的是什么。为了在 null 时创建新解决方案,以下代码片段可能会有所帮助:

return Optional.ofNullable(solution)
.orElseGet(Solution::new)
.map(solution -> buildProcessResponse(solution, solution.getPrice()));

最新更新