从Option case类中提取Option时如何指定默认值

时间:2014-06-18 17:01:46

标签: scala

如果我将案例类定义为:

case class Foo(bar: Option[String])

和变量baz: Option[Foo],在提供像空字符串这样的默认值时,从bar中提取baz的最常用方法是什么?

现在,我有

baz.fold("")(_.bar.getOrElse(""))

但是在那里有两次空字符串让我觉得有更好的方法。

1 个答案:

答案 0 :(得分:6)

怎么样:

baz.flatMap(_.bar).getOrElse("")

或者根据@ vptheron的评论:

baz.flatMap(_.bar).fold("")(identity)