java - 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 并输入最终地图。
如果它为空,我应该如何初始化“解决方案”?
解决方案
从您的代码中,很难弄清楚您的代码的最终目的是什么。为了在它为空时创建一个新的解决方案,以下代码段可能会有所帮助:
return Optional.ofNullable(solution)
.orElseGet(Solution::new)
.map(solution -> buildProcessResponse(solution, solution.getPrice()));
推荐阅读
- javascript - express.js 应用程序不显示控制台日志消息
- python - 如何使用 Xpath 抓取 Google 网址(包含和不包含)
- unity3d - 代码中的值更改时检查器不更新
- animation - 如何设置 Svelte + Popper.js + display:none 动画
- python-3.x - 无论如何在android和ios上使用python的manim库吗?
- virtual-machine - 将iso导入虚拟框时,我一直遇到障碍
- python - 在matplotlib中制作移动平均时间序列线图的任何解决方法?
- javascript - 我正在使用javascript制作密码生成器。密码生成后不显示
- javascript - 无法弄清楚为什么这不起作用
- python - 如何使用来自wordsegment内部的segment()到re.sub从python中的主题标签中提取单词?