我有一个包含几个选项的对象,其中可选项不为null,我想将其值作为参数传递给需要多个参数的方法 .
目前我有一个代码块,如下所示:
if (dealerRequest.getIsApproved().isPresent()) {
repository.updateDealerPartnerFinanceIsApproved(dealerRequest.getDealerId(), dealerRequest.getIsApproved().get());
}
if (dealerRequest.getIsOptedIn().isPresent()) {
repository.updateDealerPartnerFinanceOptedIn(dealerRequest.getDealerId(), dealerRequest.getIsOptedIn().get());
}
我知道检查值是存在的,然后稍后获取它比以前的空检查更有用;但是我不知道在这种情况下如何使用它们呢?
理想情况下,我将.map()作为我的存储库上的方法的可选项,但后来我不知道如何传递(如果可以的话)第二个参数?这样做有更简洁的方法吗?
2 回答
你也可以使用
ifPresent()
:并相应地用于第二个可选项 .
您不能使用map因为
map
希望您返回Optional
. 您可以像这样使用ifPresent(“i f " not " i s ”):Runnable example