为什么没有apply-method就可以创建Map对象?

Joh*_*ood 3 scala map

C:\Users\John>scala
Welcome to Scala version 2.9.2 (Java HotSpot(TM) Client VM, Java 1.6.0_32).
Type in expressions to have them evaluated.
Type :help for more information.

scala> import scala.collection.mutable.Map
import scala.collection.mutable.Map

scala> Map()
res4: scala.collection.mutable.Map[Nothing,Nothing] = Map()
Run Code Online (Sandbox Code Playgroud)

当使用Map()不带关键字时new,apply将调用相应伴随对象中的方法.但是Scala文档没有列出apply可变映射的apply方法(只提供了从地图中检索值的方法).

为什么上面的代码仍然有效?

Did*_*ont 5

它看起来像scaladoc中的一个bug.有一个apply在对象的方法collection.mutable.Map(从继承GenMapFactory),但它不会出现在文档的地图.这个问题似乎在upcomping 2.10的文档中得到修复.

注意:您必须查看对象文档,而不是第一类.该方法applyclass过程中的使用已有的地图实例,并从中获取数据.