选项上的Scala贴图方法

viv*_*man 8 scala

我是scala的新手,请在下面的问题中帮助我.

我们可以在Option上调用map方法吗?(例如Option [Int] .map()?).

如果是,那么可以用例子来帮助我.

Luk*_*itz 8

这是一个简单的例子:

val x = Option(5)

val y = x.map(_ + 10)

println(y)
Run Code Online (Sandbox Code Playgroud)

这将导致Some(15).如果x是None相反,y也将是None.


Iad*_*ams 7

是:

  val someInt = Some (2)
  val noneInt:Option[Int] = None
  val someIntRes = someInt.map (_ * 2) //Some (4)
  val noneIntRes = noneInt.map (_ * 2) //None
Run Code Online (Sandbox Code Playgroud)

查看文件

您可以将选项视为包含正好0或1个项目的集合。在集合上进行映射会为您提供一个包含相同数量项目的容器,从而将映射功能应用于原始项目中的每个项目。