在scala中从LinkedHashMap中复杂地检索值

时间:2013-11-29 12:20:25

标签: scala

有人可以澄清以下代码的行为吗?

scala> val map =  new collection.mutable.LinkedHashMap[String,collection.mutable.ArrayBuffer[String]]()
map: scala.collection.mutable.LinkedHashMap[String,scala.collection.mutable.ArrayBuffer[String]] = Map()

scala> val arr = map.getOrElse("Hi",None)
arr: Serializable with Equals = None

为什么类型为Serializable的arr为Equals而不是ArrayBuffer [String]?

非常感谢!

1 个答案:

答案 0 :(得分:5)

因为您将类型为None的{​​{1}}与其他内容混淆了,可能是Option[Nothing]?但它的类型为Nil,这也是错误的。为了使编译正确,你应该写:

List[Nothing]