是否有Scala API方法来转换Seq[Option[T]] -> Seq[T]
?
您可以通过以下方式手动执行此操作:
seq.filter(_.isDefined).map(_.get)
想知道是否有一种方法在通用API中执行上述操作。
答案 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)