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)
}
发布评论