2

我正在尝试如何在 Scala 中找出和使用以枚举为键的映射。看这个问题,我可以实例化地图,但是当我尝试就地更新地图时,出现类型不匹配错误。这里发生了什么?

object MyEnums extends Enumeration {
  type MyEnum = Value
  val BOB, TED, JEN = Value
}

var mymap = scala.collection.mutable.Map[MyEnums.Value, Long]()
mymap += (MyEnums.JEN -> 100L)

抛出:

<console>:38: error: type mismatch;
found   : (MyEnums.Value, Long)
required: (MyEnums.Value, Long)
          mymap += (MyEnums.JEN -> 100L)

如果我做同样的事情,但使用例如字符串作为键类型,这将按预期工作。

编辑:在 spark-shell 中使用 scala 时会出现这些问题,而不是正常的 scala repl。

4

0 回答 0