繁体   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