Scala是否有将Seq [Option [T]]转换为Seq [T]的API方法?

时间:2010-08-26 04:52:06

标签: scala option

是否有Scala API方法来转换Seq[Option[T]] -> Seq[T]

您可以通过以下方式手动执行此操作:

seq.filter(_.isDefined).map(_.get)

想知道是否有一种方法在通用API中执行上述操作。

1 个答案:

答案 0 :(得分:47)

绝对,积极的不是。 (不!)

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)