java
optional是Java 8 引入的特性。
解决:空指针异常(NullPointerException)
本质:这是一个包含有可选值的包装类,这意味着 Optional 类既可以含有对象也可以为空。
https://www.oschina.net/translate/understanding-accepting-and-leveraging-optional-in?lang=chs&page=2#
Scala
比较特殊的None
,是Option
的两个子类之一,另一个是Some
,用于安全的函数返回值。
scala
推荐在可能返回空的方法使用Option[X]
作为返回类型。如果有值就返回Some[X]
,否则返回None
。
如果对None
进行get会报错:NoSuchElementException
def get(key: A): Option[B] = {
if (contains(key))
Some(getValue(key))
else
None
}