¿Cómo escribo concisamente un || b donde a y b son valores opcionales?
Estoy contento con una respuesta en cualquier idioma, pero finalmente quiero una respuesta en Java. (Java 8+ está bien. No se limita a Java 8. He intentado arreglar las etiquetas).
Si tengo dosOptional<Integer>
alores @, ¿cómo calculo concisamente el equivalente dea || b
, sentido:a
, si está definido; de lo contrariob
, si está definido; de lo contrarioempty()
?
Optional<Integer> a = ...;
Optional<Integer> b = ...;
Optional<Integer> aOrB = a || b; // How to write this in Java 8+?
Sé que puedo escribira.orElse(12)
, pero ¿y si el "valor" predeterminado también esOptional
?
Evidentemente, en C #, el operador??
hace lo que quiero.