Scala调用选项的方法

当方法的返回类型不固定时,使用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方法

productArity方法返回一个整数值,它是选项的值的大小。

程序:

object myObject 
{ 
	def main(args: Array[String]) 
	{ 
		val opt:Option[String] = Some("Nhooo") 
		val value = opt.productArity 
		println(value) 
	} 
}

输出结果

1

productElement(n:Int)方法

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

filter()方法

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)

filterNot()方法

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

isDefined方法

Scala中isDefined方法用于根据选项的实例返回布尔值,即,如果存在某个值,则返回true;如果不存在某个值,则返回false

程序:

object myObject 
{ 
	def main(args: Array[String]) 
	{ 
		val opt:Option[Int] = Some(7) 
		val value = opt.isDefined 
		print(value)
	} 
}

输出结果

true