3

我想在列表中找到与谓词匹配的元素,如果没有元素与谓词匹配,则获取默认值。我想以惯用方式执行此操作,而不定义其他变量(一个衬里)。有类似getOrElse的东西HashMap吗?

4

1 回答 1

16

这是另一个为什么Option很棒的例子!

find方法返回一个Option, 并且Option有一个方法getOrElse可以完全满足您的要求。

scala> List(1,2,3).find(_ > 4).getOrElse(0)
res0: Int = 0

当什么都没有找到时,find返回None,这意味着“else”值将被返回。

于 2012-10-18T06:25:03.300 回答