【发布时间】:2017-04-20 14:29:17
【问题描述】:
我有一个包含几个可选项的对象,其中可选项不为空,我想将其值作为参数传递给采用多个参数的方法。
目前我的代码块如下所示:
if (dealerRequest.getIsApproved().isPresent()) {
repository.updateDealerPartnerFinanceIsApproved(dealerRequest.getDealerId(), dealerRequest.getIsApproved().get());
}
if (dealerRequest.getIsOptedIn().isPresent()) {
repository.updateDealerPartnerFinanceOptedIn(dealerRequest.getDealerId(), dealerRequest.getIsOptedIn().get());
}
我知道检查值是否存在,然后再获取它比过去的空值检查更有用;但是我看不出在这种情况下如何使用它们?
理想情况下,我会 .map() 对我的存储库上的方法进行可选操作,但是我不知道如何传递(如果可以的话)第二个参数?有没有更简洁的方法?
【问题讨论】:
-
因此,如果您的可选项中没有任何价值,您就不会在您的存储库上执行任何操作吗?它是否正确?或者,如果您的可选项为空,您是否使用默认值更新您的存储库?
-
正确,如果 optional 没有值,则不调用关联的存储库更新。