首页 文章

在选项[Seq [T]]上使用 Map

提问于
浏览
2

我有一个选项[Seq [T]],当然可以包含Seq [T]或者确实可以包含无 .

我已经被警告不要使用.get但是如果Option是None,我如何使用map返回预期填充的Seq [T]或空List() .

我已经设法使用模式匹配,想知道是否有一种方法来使用map来实现相同的目标 . 谢谢!

val maybeProducts:Option[Seq[Product]] = {....}

val products:Seq[Product] = {
  maybeProducts match {
    case Some(ps) => ps
    case None     => List()
  }
}

3 回答

  • 0

    作为记录;另一个解决方案是将选项转换为列表然后展平它们:

    maybeProducts.toList.flatten
    
  • 3
    val products: Seq[Product] = maybeProducts.getOrElse(List())
    
  • 4

    你可以使用 getOrElse

    maybeProducts.getOrElse(List())
    

相关问题