在Scala中处理Option
我应该考虑什么来决定是映射还是匹配匹配?举例来说,如果我有Option[MyClass]
,我可以对付它通过以下方式:Scala选项:map vs模式匹配
def getList(myOptionInstance: Option[MyClass]): List[String] =
myOptionInstance map (...) getOrElse(List.empty[String])
或
def getList(myOptionInstance: Option[MyClass]): List[String] = myOptionInstance match {
case Some(mySomeInstance) => .....
case None => List.empty[String]
}
我什么时候会选择一个比其他?
在情况l因此,我更喜欢模式匹配,因为它通常更容易理解,并且生成效率更高的代码(不包含'Function1's)。 –
其他选项:'myOptionInstance.toList flatMap(...)' – senia