2

我刚刚从 Java 7 迁移到 8,我的代码中到处都是像这样的代码片段

if (myObj != null) {
    myObj.doSomething();
    myObj.doOtherThing();
}

我注意到空检查有时被认为是一种反模式,Java 8 促进了 Optional 的使用。让我的代码看起来像有什么好处吗

Optional.ofNullable(myObj).ifPresent(obj -> {
    myObj.doSomething();
    myObj.doOtherThing();
});

可以说,它使代码更难阅读。

4

1 回答 1

3

的优点之一Optional是当你Optional从一个方法返回一个时,它表明一个方法可以返回null。当返回一个普通对象时,是否应该对返回值进行空检查并不明显。

于 2017-03-17T20:45:10.653 回答