Scala的Option类型

为了让所有东西都是对象的目标更加一致,也为了遵循函数式编程的习惯,Scala鼓励你在变量和函数返回值可能不会引用任何值的时候使用Option类型。在没有值的时候,使用None,这是Option的一个子类。如果有值可以引用,就使用Some来包含这个值。Some也是Option的子类。
None被声明为一个对象,而不是一个类,因为我们只需要它的一个实例。这样,它多少有点像null关键字,但它却是一个实实在在的,有方法的对象。

单独对一个map对象使用get方法,获取到的是一个Option类,获取里面的数值,需要再次调用运行一下get方法,例如

 

 1 object Test {
 2    def main(args: Array[String]) {
 3       val imap=Map(5->"test")
 4       val a:Option[Int] = Some(5)
 5       val b:Option[Int] = None
 6 
 7       println("a.getOrElse(0): " + imap.get(5).getOrElse(0) )
 8       println("b.getOrElse(10): " + b.getOrElse(10) )
 9    }
10 }

getOrElse会输出默认值10,如果获取到则进行输出

a.getOrElse(0): test
b.getOrElse(10): 10

  

 

 

相关文章:

  • 2022-12-23
  • 2021-11-14
  • 2021-07-27
  • 2021-05-22
  • 2021-04-14
  • 2022-02-09
  • 2021-11-21
  • 2022-12-23
猜你喜欢
  • 2021-12-19
  • 2022-12-23
  • 2021-10-31
  • 2021-12-20
  • 2021-11-24
  • 2021-10-12
  • 2021-11-14
相关资源
相似解决方案