添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
Collectives™ on Stack Overflow

Find centralized, trusted content and collaborate around the technologies you use most.

Learn more about Collectives

Teams

Q&A for work

Connect and share knowledge within a single location that is structured and easy to search.

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

My method fails when solution is null. when I debug it seems that when solution is null the method go to orElse and enter the final map.

How should I init "solution" if it is null?

it seems that when solution is null the method go to orElse and enter the final map - this is exactly what should happen in the presented code. What do you actually want to achieve? What should happen if solution is null? – lexicore Jul 2, 2018 at 19:47

From your code, it's hard to figure out what's the final purpose of your code. In order to create a new solution when it's null, the following snippet could help:

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

Thanks for contributing an answer to Stack Overflow!

  • Please be sure to answer the question. Provide details and share your research!

But avoid

  • Asking for help, clarification, or responding to other answers.
  • Making statements based on opinion; back them up with references or personal experience.

To learn more, see our tips on writing great answers.