Hvordan udfører man en handling, hvis en valgfri boolean er sand?
For god orden
if (spouseIsMale.orElse(false)) {
System.out.println("There is a male spouse.");
}
Ryd.
Det er muligt at opnå den adfærd med .filter(b -> b)
:
spouseIsMale.filter(b -> b).ifPresent(b -> System.out.println("There is a male spouse."));
Det koster dog noget hjerneudførelsestid sekunder for at forstå, hvad der foregår her.
For dem, der ønsker at skrive dette uden traditionelif(condition){ //Do something if true; }
Optional.of(Boolean.True)
.filter(Boolean::booleanValue)
.map(bool -> { /*Do something if true;*/ })