我不明白为什么允许这样做:
scala> val mutableMap = new scala.collection.mutable.HashMap[String,Int]()
mutableMap: scala.collection.mutable.HashMap[String,Int] = Map()
scala> mutableMap("foo") = 1
scala> mutableMap("foo")
res1: Int = 1
scala> mutableMap("foo") += 10
scala> mutableMap("foo")
res3: Int = 11
Run Code Online (Sandbox Code Playgroud)
我想后者(+=
)是前者()的扩展=
- 但是我不明白是什么使它成为赋值中的有效LHS.它是特殊的编译器,还是有一些特性或类授予此功能?
scala ×1