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