我有以下HashMap
val lastAsk = new HashMap[String, Quote]
引用对象有price()方法
以下
lastAsk(lastSecurity).price
如果lastSecurity不是键,则抛出NoSuchElementException。要修复我可以使用包来检查然后返回-1如果找不到密钥。然而,感觉就像黑客可以在这里使用Option来设计更优雅的解决方案吗?
答案 0 :(得分:11)
Map方法get
返回Option
,因此您可以这样写:
lastAsk get lastSecurity map (_ price) getOrElse 0
您可以在代码中进一步使用选项,或者在选项方法getOrElse
的帮助下提供一些默认值(在我的示例中为0
)。