【发布时间】:2018-07-02 19:44:29
【问题描述】:
我的方法返回:
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 时,该方法转到 orElse 并输入最终地图 - 这正是呈现的代码中应该发生的情况。你真正想要达到什么目的?如果
solution是null会发生什么? -
为什么要混合可选和单声道?
-
Mono.justOrEmpty(solution).map(...).map(...).or(Mono.just(...)).map(...) -
@lexicore 如果解决方案为空,我想用新的解决方案调用 buildProcessResponse
标签: java lambda java-8 optional