在scala中编写以下代码时
var m = Map((0,1) -> "a")
m += ((0,2), "b") // compilation error
我收到错误
类型不匹配; 找到 : Int(0) 必需:(整数,整数)
然而,将元组的语法从(X,Y)
to更改为(X -> Y)
有效
var m = Map((0,1) -> 'a)
m += ((0,2) -> 'b) // compiles file
虽然
((0,1).getClass == (0 -> 1).getClass) // is true
(0,1).isInstanceOf[Tuple2[_,_]] && (0 -> 1).isInstanceOf[Tuple2[_,_]] // both true
这是为什么?scala 认为我的嵌套元组是什么?