scala的Option类型

Muriel ·
更新时间:2024-11-10
· 751 次阅读

Option类型
使用Option类型,可以用来有效避免空引用(null)异常。也就是说,将来我们返回某些数据时,可以返回一个Option类型来替代。
定义
scala中,Option类型来表示可选值。这种类型的数据有两种形式:
Some(x):表示实际的值
在这里插入图片描述
None:表示没有值
在这里插入图片描述
使用getOrElse方法,当值为None是可以指定一个默认值
示例一
示例说明
定义一个两个数相除的方法,使用Option类型来封装结果
然后使用模式匹配来打印结果
不是除零,打印结果
除零打印异常错误
参考代码:

/** * 定义除法操作 * @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) }

在这里插入图片描述
结果:
在这里插入图片描述


作者:大数据666



Scala option

需要 登录 后方可回复, 如果你还没有账号请 注册新账号
相关文章
Obelia 2020-02-07
937