scala - 为什么可以在没有应用方法的情况下创建 Map 对象?

标签 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()

当使用 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/

相关文章:

scala - 反转 HList 并转换为类?

function - 以下警告是什么意思: 'side-effecting nullary methods are discouraged' ?

Java 8 map 合并方法

android - 如何获取此 map 代码的当前位置?当我打开 map 时还试图从服务器接收车辆数据

c++ - C++ 中 std::map 的内存分配和工作

ios - 在 iOS5 中打开原生 map 应用

scala - 编译时两个大小相同的 HList 的总和?

scala - Spark sql窗口功能滞后

c++ - 从 map 中获取值列表

scala - 为什么 scala actor 消息队列没有边界(大小)