Ух, так просто. Спасибо!
ли в 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();