ScalaOption类型

Option类型

使用Option类型,可以用来有效避免空引用(null)异常。也就是说,将来我们返回某些数据时,可以返回一个Option类型来替代。

定义
scala中,Option类型来表示可选值。这种类型的数据有两种形式:

  • Some(x):表示实际的值
  • None:表示没有值
  • 使用getOrElse方法,当值为None是可以指定一个默认值

示例一

  • 定义一个两个数相除的方法,使用Option类型来封装结果
  • 然后使用模式匹配来打印结果
    o不是除零,打印结果
    o除零打印异常错误

参考代码

 /*** 定义除法操作* @param a 参数1* @param b 参数2* @return Option包装Double类型*/def dvi(a:Double, b:Double):Option[Double] = {if(b != 0) {Some(a / b)}else {None}
}
​def main(args: Array[String]): Unit = {val result1 = dvi(1.0, 5)
​result1 match {case Some(x) => println(x)case None => println("除零异常")}
}

示例二

  • 重写上述案例,使用getOrElse方法,当除零时,或者默认值为0

参考代码

def dvi(a:Double, b:Double) = {if(b != 0) {Some(a / b)}else {None}
}def main(args: Array[String]): Unit = {val result = dvi(1, 0).getOrElse(0)println(result)
}