下表列出了 Scala 的 Option 常用的方法:
方法 | 描述 |
---|---|
def get: A | 获取可选值 |
def isEmpty: Boolean | 检测可选类型值是否为 None,是的话返回 true,否则返回 false |
def productArity: Int | 返回元素个数, A(x_1, …, x_k), 返回 k |
def productElement(n: Int): Any | 获取指定的可选项,以 0 为起始。即 A(x_1, …, x_k), 返回 x_(n+1) , 0 < n < k |
def exists(p: (A) => Boolean): Boolean | 如果可选项中指定条件的元素存在且不为 None 返回 true,否则返回 false |
def filter(p: (A) => Boolean): Option[A] | 如果选项包含有值,而且传递给 filter 的条件函数返回 true, filter 会返回 Some 实例。 否则,返回值为 None |
def filterNot(p: (A) => Boolean): Option[A] | 如果选项包含有值,而且传递给 filter 的条件函数返回 false, filter 会返回 Some 实例。 否则,返回值为 None |
def flatMap[B](f: (A) => Option[B]): Option[B] |
如果选项包含有值,则传递给函数 f 处理后返回,否则返回 None |
def foreach[U](f: (A) => U): Unit |
如果选项包含有值,则将每个值传递给函数 f, 否则不处理 |
def getOrElse[B >: A](default: => B): B |
如果选项包含有值,返回选项值,否则返回设定的默认值 |
def isDefined: Boolean | 如果可选值是 Some 的实例返回 true,否则返回 false |
def iterator: Iterator[A] | 如果选项包含有值,迭代出可选值。如果可选值为空则返回空迭代器 |
def map[B](f: (A) => B): Option[B] |
如果选项包含有值, 返回由函数 f 处理后的 Some,否则返回 None |
def orElse[B >: A](alternative: => Option[B]): Option[B] |
如果一个 Option 是 None , orElse 方法会返回传名参数的值,否则,就直接返回这个 Option |
def orNull | 如果选项包含有值返回选项值,否则返回 null |