首页 > 解决方案 > java8不止一次检查可选的空值

问题描述

我如何在 java8 中用 1 行写这个?

if (Optional.ofNullable(mapOfIntAndListOfObjects.get(spn)).isPresent()) {
    Date paydate = Optional.ofNullable(mapOfIntAndListOfObjects.get(spn).stream().findFirst()).get().orElse(new MyObject()).getPayDate();
    logger.info("paydate {} ", paydate);
    return paydate;
} 
return null;

标签: javajava-8optional

解决方案


就像是

Date payDate =  mapOfIntAndListOfObjects.getOrDefault(spn, Collections.emptyList())
        .stream()
        .findFirst()
        .orElse(new MyObject())
        .getPayDate();
logger.info("paydate {} ", paydate);
return payDate;

你似乎真的不需要把它们包裹起来Optional


推荐阅读