在Java中用null表示无值返回。在Java 里,null 是一个关键字,不是一个对象,所以对它调用任何方法都是非法的
笔者就常在类型转换时见到空指针错误,便是由null的特殊性导致的
而在scala中,对map类型使用get时,返回的是Option类型
Option类型
而为了进一步得到value,一般再进行一次get
于是,当对None值进行get操作时,就会产生None.get的错误
一个简单有效的解决方式是使用getOrElse
这样,在get的目标为None时,就会赋予默认值,即getOrElse提供的参数
很有意思的是,当默认值与value值类型不相同时,赋予的值会变成Any类型