如何从变量创建映射键?

时间:2019-03-20 09:10:06

标签: scala

我想根据变量创建一个Map,例如:

scala> val a = "H"
a: String = H

scala> val b = "C"
b: String = C

scala> Map(a, b)
<console>:14: error: type mismatch;
 found   : String
 required: (?, ?)
       Map(a, b)
           ^
<console>:14: error: type mismatch;
 found   : String
 required: (?, ?)
       Map(a, b)
          ^

如您所见,编译器抱怨。我在做什么错了?

2 个答案:

答案 0 :(得分:2)

Scala用于实例化Map的语法如下:

val myMap: Map[K, V] = Map(k1 -> v1, k2 -> v2, ...)

其中K是键的类型,而V是值的类型。

答案 1 :(得分:1)

您的代码段中的问题是没有构造方法/应用方法来构建需要两个字符串参数的Map

字符串键和字符串值映射的正确方法/语法为:

val a = "H"
val b = "C"
val testMap: Map[String, String] = Map(a -> b)

通常使用以下语法:

val testMap: Map[K, V] = Map(k1 -> v1, k2 -> v2, ...)