当方法的返回类型不固定时,使用Scala中的Option。它可以是一个值,也可以是Scala中的NULL对象。在Scala中,可以将其称为可以包含单个元素或不包含任何元素的载体对象。
在Scala编程语言中,可以使用几种方法来调用Scala选项。
Scala中的get方法返回Option的值。此方法不返回NULL值,而是返回错误。
程序:
object myObject { def main(args: Array[String]) { val opt:Option[String] = Some("Nhooo") val value = opt.get println(value) } }
输出结果
Nhooo
该productArity方法返回一个整数值,它是选项的值的大小。
程序:
object myObject { def main(args: Array[String]) { val opt:Option[String] = Some("Nhooo") val value = opt.productArity println(value) } }
输出结果
1
Scala中的productElement()方法用于返回索引为0的乘积的第n个元素。
程序:
object myObject { def main(args: Array[String]) { val opt:Option[Int] = Some(76) val value = opt.productElement(0) println(value) } }
输出结果
76
Scala编程语言的这种方法用于检查选项值是否满足给定条件。并基于它返回一个布尔值。
程序:
object myObject { def main(args: Array[String]) { val opt:Option[Int] = Some(76) val value = opt.exists(x =>{ x % 2 == 0 }) if(value){ print("Value is even"); } else print("Value is odd"); } }
输出结果
Value is even
Scala中的filter()方法用于返回Option的值。仅当满足指定条件时才返回此值。
程序:
object myObject { def main(args: Array[String]) { val opt:Option[Int] = Some(76) val value = opt.filter(x =>{ x % 2 == 0 }) print(value) } }
输出结果
Some(76)
与filter()方法相反,filterNot()方法仅在不满足条件时才返回选项的值。
程序:
object myObject { def main(args: Array[String]) { val opt:Option[Int] = Some(7) val value = opt.filterNot(x =>{ x % 2!= 0 }) print(value) } }
输出结果
None
Scala中的isDefined方法用于根据选项的实例返回布尔值,即,如果存在某个值,则返回true;如果不存在某个值,则返回false。
程序:
object myObject { def main(args: Array[String]) { val opt:Option[Int] = Some(7) val value = opt.isDefined print(value) } }
输出结果
true