Option

在scala中Option是一个有可能包含值的容器

Option对应的特质如下

trait Option[T] {
def isDefined: Boolean
def get: T
def getOrElse(t: T): T
}

他有两个子类Some[T]和None。

Map.get返回的就是一个Option对象,表示有可能查找不到你想要的值。例子如下:

scala> val numbers = Map("one" -> , "two" -> )
numbers: scala.collection.immutable.Map[java.lang.String,Int] = Map(one -> , two -> ) scala> numbers.get("two")
res0: Option[Int] = Some() scala> numbers.get("three")
res1: Option[Int] = None

如何获取Option中的值呢?

建议使用getOrElse或者模式匹配来处理。

 val result = res1.getOrElse() * 

val result = res1 match {
case Some(n) => n *
case None =>
}
上一篇:Luogu P1092 虫食算(枚举+剪枝)


下一篇:做为一个Java程序员,你需要哪些傍身的技能?