是否有Scala API方法来转换Seq[Option[T]] -> Seq[T]?
您可以通过以下方式手动完成:
seq.filter(_.isDefined).map(_.get)
Run Code Online (Sandbox Code Playgroud)
想知道是否有一种方法可以在通用API中执行上述操作.
Ran*_*ulz 48
绝对,积极的不是.(不!)
scala> val so1 = List(Some(1), None, Some(2), None, Some(3))
so1: List[Option[Int]] = List(Some(1), None, Some(2), None, Some(3))
scala> so1.flatten
res0: List[Int] = List(1, 2, 3)
Run Code Online (Sandbox Code Playgroud)