Это на самом деле не проблема.
В то время как версия карты Java использует null
, чтобы указать, что ключ не имеет связанного значения, Scala Map[A,B].get
возвращает Options[B]
, который может быть Some[B]
или None
, и Noneиграет схожую роль с сеансом null
.
REPL в java, показывая, почему это полезно:
scala> map.get("State")
res6: Option[String] = None
scala> map.get("State").getOrElse("Texas")
res7: String = Texas
Или не рекомендуется, но просто get
:
scala> map.get("City").get
res8: String = Dallas
scala> map.get("State").get
java.util.NoSuchElementException: None.get
at scala.None$.get(Option.scala:262)
Проверьте документацию Option для получения дополнительной информации.