我有一个选项[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()
}
}
答案 0 :(得分:4)
您可以使用getOrElse
:
maybeProducts.getOrElse(List())
答案 1 :(得分:3)
val products: Seq[Product] = maybeProducts.getOrElse(List())
答案 2 :(得分:0)
记录;另一个解决方案是将选项转换为列表然后展平它们:
maybeProducts.toList.flatten