0
我刚刚从Java 7移到8和我的代码充斥着片断像惠及可选#ifPresent
if (myObj != null) {
myObj.doSomething();
myObj.doOtherThing();
}
更换空检查我注意到,空检查有时被认为是一个反模式和Java 8推广使用可选。让我的代码看起来有什么好处
Optional.ofNullable(myObj).ifPresent(obj -> {
myObj.doSomething();
myObj.doOtherThing();
});
可以说,它使得代码难以阅读。
相关:http://stackoverflow.com/questions/271526/avoiding-null-statements – 2017-03-17 20:09:18
在很多情况下,null是myObj的有效状态,所以它似乎不适合使用断言。 – Ares
第二个片段不会为你购买任何东西。它取代了一个简单的,如果一连串的调用和lambda。没有看到好处 – efekctive