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()
当使用 Map()
而不使用关键字 new
时,将调用来自相应伴随对象的 apply
方法。但是 Scala 文档没有列出可变映射的 apply
方法(只提供了从映射中检索值的 apply
方法)。
为什么上面的代码还能用?
最佳答案
它看起来像 scaladoc 中的一个错误。对象collection.mutable.Map
中有一个apply
方法(继承自GenMapFactory
)但它没有出现在 map 的文档中。此问题似乎已在 the doc for upcomping 2.10 中得到修复.
注意:您必须查看对象文档,而不是第一类。 class
中的 apply
方法当然适用于现有的 map 实例,并从中检索数据。
关于scala - 为什么可以在没有应用方法的情况下创建 Map 对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11593494/