Java 8的Optional使用方式

  Optional可以避免空指针错误NullPointerExceptions,但是使用时有一定规则遵循。如果没有这些设计模式会影响大量类,导致比较差的可读性。

Optional只用在返回类型

Optional不作为参数也不作为字段,只适合作为返回类型使用,不应该到处使用造成Optional泄漏。

 

不只是简单调用get()

Optional强大是在于其值可以为空,那么检查是否为空就变得很重要,如果不调用isPresent()就直接简单调用get()也会导致空指针错误。

 

更灵活方式

在get()之前使用isPresent() 检查:

但是还有更灵活方式,你使用orElse方法在其值为空时指定一个替换值:

或者使用orElseGet ,当值为空时,调用指定的方法获得值:

上述代码中,当Optional值为空时,执行createNewKey()方法创建。

 

Java 8教程