Como eu conciso escrever um || b onde aeb são valores opcionais?
Estou feliz com uma resposta em qualquer idioma, mas no final quero uma resposta em Java. (Java 8+ está bom. Não se limita ao Java 8. Tentei corrigir as tags.)
Se eu tiver doisOptional<Integer>
valores, como calcular concisamente o equivalente aa || b
, o que significa:a
, se estiver definido; de outra formab
, se estiver definido; de outra formaempty()
?
Optional<Integer> a = ...;
Optional<Integer> b = ...;
Optional<Integer> aOrB = a || b; // How to write this in Java 8+?
Sei que sei escrevera.orElse(12)
, mas e se o "valor" padrão também forOptional
?
Evidentemente, em C #, o operador??
faz o que eu quero.