在Java 8中,我有一個變量,持有一個可選的布爾值。如果可選布爾值爲true,如何執行操作?
我想要一個動作來執行,如果可選項不爲空,並且包含的布爾值爲true。
我夢想着像ifPresentAndTrue
,這裏一個完整的例子:
import java.util.Optional;
public class X {
public static void main(String[] args) {
Optional<Boolean> spouseIsMale = Optional.of(true);
spouseIsMale.ifPresentAndTrue(b -> System.out.println("There is a male spouse."));
}
}
雖然有可能丟棄不必要的代碼「orElse(false)」,但是會很好。這就像寫作「if(myBoolVariable == true)」 - 我從不寫「==真」......但是,儘管如此,我也使用這個確切的代碼,因爲它是最乾淨,快速和易於理解的。 – BAER
@BAER我也對'== true'過敏。看着Java 9,但看起來不太好:'spouseIsMale.stream()。filter(Function :: identity).forEach(b-> System.out.println(「There is a male spouse。」));' –