有地图
val m = Map("foo" -> 1, ("bar" -> 2), ("foobar", 3))
我可以通过
添加新元素m + ("boo" -> 3)
或
val a = ("fff", 2); m + a
但是当我做的时候
m + ("ggg", 2)
我得到了
error : type mismatch;
found : String("ggg")
required: (String, ?)
m + ("ggg", 2)
^
请你澄清为什么会这样?
答案 0 :(得分:3)
m + ("ggg", 2)
相当于m.+("ggg", 2)
,它将"ggg"
和2
分别传递给方法+
。如果您想将它们作为元组传递,请按照您已经知道的内容编写m + (("ggg", 2))
或m + ("ggg" -> 2)
。