gpt4 book ai didi

java - Java 可选映射和 orElse 的链接(if-else 样式)

转载 作者:行者123 更新时间:2023-11-30 06:05:03 28 4
gpt4 key购买 nike

Java 中是否有一种优雅且流式的方式来表示“如果该值存在,则将此可选值映射到另一个带有计算值的可选值,否则返回一个空的可选值”?

我想到了这样的事情:

Optional<Float> amount = ...;
Optional<MonetaryAmount> myAmount = amount
.map(theAmount -> FastMoney.of(theAmount, "EUR")).orElse(Optional.empty());

但这不可能。

我提出的解决方案有点冗长并且不像流式传输:

Optional<Float> amount = ...;
Optional<MonetaryAmount> myAmount = amount.isPresent() ?
Optional.of(FastMoney.of(amount.get(), "EUR")) : Optional.empty();

最佳答案

您不需要 orElse 子句:

Optional<Float> amount = ...;
Optional<MonetaryAmount> myAmount =
amount.map(theAmount -> FastMoney.of(theAmount, "EUR"));

关于java - Java 可选映射和 orElse 的链接(if-else 样式),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47571787/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com