这里假设我们有一个person object,以及一个person object的Optional wrapper:
Optional如果不结合Lambda使用的话,并不能使原来繁琐的null check变的简单。
只有当Optional结合Lambda一起使用的时候,才能发挥出其真正的威力!
我们现在就来对比一下下面四种常见的null处理中,Java 8的Lambda+Optional和传统Java两者之间对于null的处理差异。
情况一 - 存在则开干
情况二 - 存在则返回,无则返回不知道
情况三 - 存在则返回,无则由函数产生
情况四 - 夺命连环null检查
由上述四种情况可以清楚地看到,Optional+Lambda可以让我们少写很多ifElse块。尤其是对于情况四那种夺命连环null检查,传统java的写法显得冗长难懂,而新的Optional+Lambda则清新脱俗,清楚简洁。