java.util.NoSuchElementException: None.get的解决方法

在Java中用null表示无值返回。在Java 里,null 是一个关键字,不是一个对象,所以对它调用任何方法都是非法的

笔者就常在类型转换时见到空指针错误,便是由null的特殊性导致的

而在scala中,对map类型使用get时,返回的是Option类型

Option类型

java.util.NoSuchElementException: None.get的解决方法

而为了进一步得到value,一般再进行一次get

java.util.NoSuchElementException: None.get的解决方法

于是,当对None值进行get操作时,就会产生None.get的错误

一个简单有效的解决方式是使用getOrElse

java.util.NoSuchElementException: None.get的解决方法

这样,在get的目标为None时,就会赋予默认值,即getOrElse提供的参数

很有意思的是,当默认值与value值类型不相同时,赋予的值会变成Any类型

上一篇:Java设计模式1:设计模式概论


下一篇:Java开发中的23种设计模式(转)