我有一个包含几个选项的对象,其中可选项不为null,我想将其值作为参数传递给需要多个参数的方法。
目前我有一段代码如下:
if (dealerRequest.getIsApproved().isPresent()) {
repository.updateDealerPartnerFinanceIsApproved(dealerRequest.getDealerId(), dealerRequest.getIsApproved().get());
}
if (dealerRequest.getIsOptedIn().isPresent()) {
repository.updateDealerPartnerFinanceOptedIn(dealerRequest.getDealerId(), dealerRequest.getIsOptedIn().get());
}
我知道检查该值是存在的,然后稍后获取它比以前的空检查更有用;但是我不知道在这种情况下如何使用它们呢?
理想情况下,我会将.map()作为我的存储库上方法的可选项,但后来我不知道如何传递(如果可以的话)第二个参数?有没有更简洁的方法呢?
答案 0 :(得分:7)
您也可以使用ifPresent()
:
dealerRequest.getIsApproved().ifPresent(
approved -> repository.updateDealerPartnerFinanceIsApproved(dealerRequest.getDealerId(), approved));
并相应地为第二个可选项。
答案 1 :(得分:2)