Encadeamento do mapa Java opcional e orElse (estilo if-else)
Existe uma maneira elegante e de streaming em Java para dizer "mapeie este opcional para outro opcional com um valor calculado se o valor existir, senão retorne um opcional vazio"?
Eu pensei em algo como:
Optional<Float> amount = ...;
Optional<MonetaryAmount> myAmount = amount
.map(theAmount -> FastMoney.of(theAmount, "EUR")).orElse(Optional.empty());
Mas isso não é possível.
A solução que eu encontrei é um pouco detalhada e não é semelhante a streaming:
Optional<Float> amount = ...;
Optional<MonetaryAmount> myAmount = amount.isPresent() ?
Optional.of(FastMoney.of(amount.get(), "EUR")) : Optional.empty();