标签:
在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" -> 1, "two" -> 2) numbers: scala.collection.immutable.Map[java.lang.String,Int] = Map(one -> 1, two -> 2) scala> numbers.get("two") res0: Option[Int] = Some(2) scala> numbers.get("three") res1: Option[Int] = None
如何获取Option中的值呢?
建议使用getOrElse或者模式匹配来处理。
val result = res1.getOrElse(0) * 2 val result = res1 match { case Some(n) => n * 2 case None => 0 }
标签:
原文地址:http://www.cnblogs.com/wlwgcdxc/p/4584011.html