下面是代码:斯卡拉:为什么AnyVal出现在这里?
val m=scala.collection.mutable.HashMap[String, Long]()
var i=m.get("foo")
i=i+i
以下是错误:
Error:(28, 9) type mismatch;
found : AnyVal
required: String
i=i+i
^
为什么i
突然变得AnyVal
?为什么String
在这里是必需的,而我的地图中的值是Long
?
非常感谢
“我不是一个长,而是一个选项[长],因为foo不是HashMap中的键。”好吧,即使''foo''是'm'中的一个键,'i'总是'Option [Long]'。你可能会吃肉,“因为foo可能不是关键”。 – 2014-09-01 19:32:22
@KarolS是的,那将是正确的说法。 – 2014-09-01 19:35:14