我试图声明一个空的 Map,但修改它会导致不匹配错误,想知道我该如何解决这个问题:
import scala.collection.mutable.Map
val m = Map()
m(3) = 2
Scala 集合为这种情况提供了empty
方法
val m = Map.empty[Int, Int]
m(3) = 2
或
Map[Int, Int]()
相当于
Map.apply[Int, Int]()
当只调用Map()
Scala 推断键和值的Nothing
mutable.Map()
// val res0: mutable.Map[Nothing,Nothing] = HashMap()
empty
方法的一个优点是,在不可变集合的情况下,它可能性能更高,但可变映射则不是这种情况。