Optional.ifPresentOrElse是否有任何编码风格指南? [处于保留状态]

问题描述 投票:0回答:1

我写了一段看起来像这样的代码:

propertySupplier.getSomeProperty().ifPresentOrElse(
    property -> //do something with the property,
    () -> log.error("property not found")
)

我把它展示给我的主管。他不喜欢它,并告诉我他宁愿有这样的事情:

Property someProperty = propertySupplier.getSomeProperty();

if(property == null) {
    log.error("property not found")
} else {
    //do something with the property
}

之所以这样,是因为他想尽快知道某个功能将要做什么(尽早失败)。这是可以理解的,但是我不同意引入null。因此,我想知道是否存在代码样式指南,以便使我可以向他展示这个功能符号,使它更易于阅读?为了澄清我不是要征求意见,我知道这里的说法很皱眉,而仅仅是为了阅读或表明我找不到自己的资源。

java functional-programming optional
1个回答
2
投票

CodeReview论坛的内容。

您的版本更好。但是,我认为以下两项都可以满足:

Property property = propertySupplier.getSomeProperty()
                .orElseThrow(() -> {
                    log.error("property not found");
                    return new NoSuchElementException();
                });
© www.soinside.com 2019 - 2024. All rights reserved.