2
我有一個methodC(),它帶有兩個非可選參數,這兩個參數都是從其他兩個名爲before的方法打包並返回的。在調用方法之前檢查兩個可選內容
Optional<String> s1Optional = methodA();
Optional<String> s2Optional = methodB();
方法C定義的:
private Optional<String> methodC(String s1, String s2){
return Optional.ofNullable("abc");
}
我不想使用s1Optional.get()和s2Optional.get()作爲參數傳遞到methodC(),因爲它違背了唯一目的使用可選。
我知道,我可以使用
s1Optional.map(s1 -> methodC(s1, s2Optional).orElseGet(Optional.get());
擺脫methodC有效的回報(),只有當s1Optional不爲空,但要求是,我應該爲s2Optional這樣做。 即,我應該檢查s1Optional和s2Optional以執行methodC。
我明白,它並不總是需要使用可選項,但我只是在玩,想知道這是否可能。