在scala中,如何向List.find()传递默认值?

3

我想在列表中查找与谓词匹配的元素,并在没有匹配的元素时获取默认值。我希望以惯用方式完成,而不需要定义其他变量(一行代码)。是否有类似于HashMapgetOrElse方法?

1个回答

17

这是另一个展示Option的优越性的例子!

find方法返回一个OptionOption有一个getOrElse方法,正好可以满足你的需求。

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

如果未找到任何内容,find将返回 None,这意味着将返回 "else" 值。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接