初始化

Option(x)

  1. def apply[A](x: A): Option[A] = if (x == null) None else Some(x)

方法

1.map

  1. @inline final def map[B](f: A => B): Option[B] =
  2. if (isEmpty) None else Some(f(this.get))

2.filter

  1. @inline final def filter(p: A => Boolean): Option[A] =
  2. if (isEmpty || p(this.get)) this else None

3.flatMap

技巧:当option(option())可以使用flatMap

  1. @inline final def flatMap[B](f: A => Option[B]): Option[B] =
  2. if (isEmpty) None else f(this.get)

判断

1.nonEmpty

�如果是Some 返回true 如果是None返回false

2.isEmpty

如果是Some 返回false 如果是None返回true

获取

1.get

如果值是None会抛异常

2.getOrElse

如果值是None则获取到默认值