如何在scala中表示未初始化(也称为null)的Map

时间:2014-01-05 23:52:53

标签: scala map null

如何在集合的scala中表示null?

List的等价物将是“Nil”,它将表示如下:

Nil.asInstanceOf[Map[String,String]]

地图的等价物是什么?

更新我所知道的两个工作解决方案,无论是试验还是建议的解决方案,都是“Map()”和“null.asInstanceOf(Map [String,String])” 。 Map()不是我想要的:我不想要一个空项,但实际上不存在(在java中也称为null)。我已经知道Nil仅用于列表:它旨在说明我正在搜索Map实际使用的实体的味道。使用“null.asInstanceOf(..)”不是一个scala-ish习语。看来没有Map的等价物。?

2 个答案:

答案 0 :(得分:10)

最好的方法是:

val x = Map.empty[String, String]

使用可变地图:

import scala.collection.mutable.{ Map => MMap }

val y = MMap.empty[String, String]

答案 1 :(得分:7)

Nil只是一个空的List。它与null无关。

Scala有null,就像Java一样,但几乎总是应该避免。

你的实际目标是什么?

你想要一张空地图吗?

val m = Map[String,String]()

或者可以添加到空白的可变地图?

val m = collection.mutable.Map[String,String]()

或者可以稍后初始化的Option[Map]

val m: Option[Map[String,String]] = None

或实际上是null

var m: Map[String,String] = null