第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Java 8 如果不存在 Optional,如何從方法返回?

Java 8 如果不存在 Optional,如何從方法返回?

呼啦一陣風 2022-09-07 18:01:44
我的意思不是返回一個 Optional 值,我的意思是對于一個方法:public void someMethod() {    Optional<Obj> obj = someService.getObj();    if (obj.isPresent()) {         ....    } else {       log.info(xxxx);       return;    }    xxxxxxxxxxxxxxxxxx    xxxxxxxxxxxxx    other codes}是否可以用 Optional.ifPresent 方式編寫它?我的意思是,避免使用if isPresent的東西。非常感謝。== 更新:似乎如果JDK9中的PresentOrElse可以做到這一點,但是在JAVA8中有什么辦法做到這一點嗎?我不需要此方法返回任何值,但如果Optable不存在,我想記錄一些東西。
查看完整描述

4 回答

?
慕尼黑的夜晚無繁華

TA貢獻1864條經驗 獲得超6個贊

似乎是Java-9中的用例:ifPresentOrElse

obj.ifPresentOrElse(a -> {...}, () -> {logger.info(xxxx);return; });


查看完整回答
反對 回復 2022-09-07
?
米脂

TA貢獻1836條經驗 獲得超3個贊

如果不想在 空時不執(zhí)行任何操作,可以使用 :OptionalifPresent


public void someMethod() {

    someService.getObj().ifPresent (v -> {

         ....

    });   

}



查看完整回答
反對 回復 2022-09-07
?
江戶川亂折騰

TA貢獻1851條經驗 獲得超5個贊

Use Optional.ofNullable(input).orElseGet(this::methodName);

如果輸入為 null,則轉到 orElseGet 邏輯。如果輸入不為空,則返回輸入值。

請參閱 https://www.baeldung.com/java-optional 的“orElse 和 orElseGet()之間的區(qū)別”部分


查看完整回答
反對 回復 2022-09-07
?
紅糖糍粑

TA貢獻1815條經驗 獲得超6個贊

只是拋出一個想法,在服務上有一個方法來檢查對象是否存在呢?我認為通常你不想將 Optionals 分散到整個代碼中,我寧愿將其保留在服務中。


上:SomeService


public boolean isObjectPresent() {

    return getObj().isPresent();

}

然后


public void someMethod() {

    if (someService.isObjectPresent()) {

         ....

    } else {

       log.info(xxxx);

       return;

    }

}

這樣,您就不必在通話中處理,因為您并不真正關心它的價值Optional


注意:另外,我還要補充一點,如果在 if 塊之后沒有代碼,則不需要 return 語句。


查看完整回答
反對 回復 2022-09-07
  • 4 回答
  • 0 關注
  • 195 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號