如何以函数式风格(scala 惯用)重构此代码
def findFirst[T](objects: List[T]):T = {
for (obj <- objects) {
if (expensiveFunc(obj) != null) return obj
}
null.asInstanceOf[T]
}
最佳答案
这几乎与 find
方法完全相同,只是它返回一个 Option
。因此,如果您想要这种确切的行为,您可以添加对 Option.orNull 的调用,如下所示:
objects.find(expensiveFunc).orNull
关于scala - 用于提前退出循环的功能代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6729785/