簡體   English   中英

Java 可選,刪除值並返回,有沒有更好的方法?

[英]Java Optional, delete value and return, is there a better way?

public Optional<ReligiousOrderEntity> deleteReligiousOrderEntity( Long id){
    religiousOrderRepository.findById(id)
        .ifPresent( religiousOrderRepository::delete );
    
    return religiousOrderRepository.findById(id);
}

那是我的代碼,但我對此感覺不太好。 在我看來,應該有更好的方法來使用 Optionals。

religiousOrderRepository.findById(id) 返回一個帶有 ReligiousOrderEntity 的 Optional,但在返回之前,我們需要刪除它。

(不用擔心刪除 function,你可以假設它有效)

如果您找到一個條目,您將其刪除,然后您嘗試為返回值再次找到一些東西。 由於刪除,這將始終是一個空的 Optional。

您需要記住第一個findById返回的值:

public Optional<ReligiousOrderEntity> deleteReligiousOrderEntity(Long id){
    Optional<ReligiousOrderEntity> opt = religiousOrderRepository.findById(id)
    opt.ifPresent(religiousOrderRepository::delete);
    return opt;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM