是否有任何Option功能相当于:
def callIfNotEmpty[T](option: Option[T], fun: (T) => Unit): Unit = option match {
case Some(x) => fun(x)
case None =>
}
Run Code Online (Sandbox Code Playgroud)
这可以称为:
option.callIfNotEmpty((optionValue) => fun(optionValue))
Run Code Online (Sandbox Code Playgroud)
尝试使用foreach.例如:
option.foreach(println)
Run Code Online (Sandbox Code Playgroud)
来自文档:
final def foreach[U](f: (A) ? U): Unit将给定的过程
f应用于选项的值(如果它是非空的).
Option代码顶部甚至还有一条评论:
以使用最习惯的方法
scala.Option的实例是把它作为收藏品或单子和使用map,flatMap,filter,或foreach
回想一下,Option可以隐式转换为a Iterable,因此您可以使用通常用于集合的任何内容!