斯卡拉 |看涨期权的方法
Scala 中的 Option 指的是指定类型的单个元素或没有元素的载体。当一个方法返回一个甚至可以为 null 的值时,就会使用 Option,即,定义的方法返回一个 Option 的实例,而不是返回单个对象或 null。
我们可以在 Scala Option上调用一些方法。
- 默认得到:A
此方法用于返回选项的值。
例子:// Scala program of using // get method // Creating object object GFG { // Main method def main(args: Array[String]) { // Using Some class val some:Option[Int] = Some(20) // Applying get method val x = some.get // Displays the value println(x) } }
输出:20
在这里, get方法不能应用于None类,因为它会显示异常。
- def productArity: Int
此方法用于返回 Option 值的大小。
例子:// Scala program of returning // the size of the value // Creating object object GFG { // Main method def main(args: Array[String]) { // Using Some class val some:Option[Int] = Some(20) // Applying productArity // method val x = some.productArity // Displays the size of // the Option's value println(x) } }
输出:1
- def productElement(n: Int): 任意
此方法用于返回所述产品的第 n 个元素,此处索引从零开始。
例子:// Scala program of returning // the n-th element of the // product // Creating object object GFG { // Main method def main(args: Array[String]) { // Using Some class val some:Option[Int] = Some(20) // Applying productElement // method val x = some.productElement(0) // Displays the element println(x) } }
输出:20
在这里, None将显示异常。
- def 存在(p: (A) => Boolean): Boolean
当 Option 的值满足规定的条件时,此方法返回 true,否则返回 false。
例子:// Scala program of the method // 'exists' // Creating object object GFG { // Main method def main(args: Array[String]) { // Using Some class val some:Option[Int] = Some(30) // Applying exists method val x = some.exists(y => {y % 3 == 0}) // Displays true if the condition // given is satisfied else false println(x) } }
输出:true
在这里,陈述的条件得到满足,所以返回 true。
- def filter(p: (A) => Boolean): Option[A]
如果满足所述条件,则使用此方法返回 Option 的值。
例子:// Scala program of the method // 'filter' // Creating object object GFG { // Main method def main(args: Array[String]) { // Using Some class val some:Option[Int] = Some(30) // Applying filter method val x = some.filter(y => {y % 3 == 0}) // Displays the value of the // option if the predicate // is satisfied println(x) } }
输出:Some(30)
在这里,条件满足,因此返回 Option 值,如果不满足谓词,则返回 None。
- def filterNot(p: (A) => Boolean): Option[A]
如果不满足所述条件,此方法将返回 Option 值。
例子:// Scala program of the method // 'filterNot' // Creating object object GFG { // Main method def main(args: Array[String]) { // Using Some class val some:Option[Int] = Some(30) // Applying filterNot method val x = some.filterNot(y => {y % 3 != 0}) // Displays the value of the // option if the predicate // is not satisfied println(x) } }
输出:Some(30)
在这里,条件不满足,因此返回 Option 值,如果满足谓词,则返回 None。
- def isDefined: 布尔值
如果 Option 是 Some 的实例,则此方法返回 true;如果 Option 是 None 的实例,则返回 false。
例子:// Scala program of the method // 'isDefined' // Creating object object GFG { // Main method def main(args: Array[String]) { // Using Some class val some:Option[Int] = Some(30) // using None class val none:Option[Int] = None // Applying isDefined method val x = some.isDefined val y = none.isDefined // Displays true for Some // and false for None println(x) println(y) } }
输出:true false
- 定义迭代器:迭代器[A]
此方法返回给定选项的迭代器。
例子:// Scala program of the method // 'iterator' // Creating object object GFG { // Main method def main(args: Array[String]) { // Using Some class val some:Option[Int] = Some(30) // Applying iterator method val x = some.iterator // Displays an iterator println(x) } }
输出:non-empty iterator
- def map[B](f: (A) => B): 选项[B]
如果 Option 有值,此方法将返回 Map 中所述函数的值。
例子:// Scala program of the method // 'map' // Creating object object GFG { // Main method def main(args: Array[String]) { // Using Some class val some:Option[Int] = Some(30) // Applying Map method val x = some.map(y => {y + y}) // Displays the value returned // by the function in map println(x) } }
输出:Some(60)
这些是调用选项的方法,还有更多这样的方法。
- def orElse[B >: A](alternative: => Option[B]): Option[B]
如果 Option 包含一个值,则返回它。否则,此方法评估备选方案并返回备选方案。 - def or Null
如果 Option 不包含值,此方法将返回 Null。