如何在集合的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的等价物。?
答案 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