枚举作为Scala中可变地图的关键

时间:2016-05-03 21:32:02

标签: scala apache-spark enums mutablemap

我正在尝试如何找出并使用枚举作为地图作为Scala中的键。查看this question,我可以实例化地图,但是当我尝试更新地图时,会出现类型不匹配错误。这是怎么回事?

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时会出现这些问题。

0 个答案:

没有答案