gpt4 book ai didi

scala - 用于提前退出循环的功能代码

转载 作者:行者123 更新时间:2023-12-02 04:38:10 25 4
gpt4 key购买 nike

如何以函数式风格(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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com