Avatar ·

如何在 Kotlin 的 forEach 中使用 break 和 continue?

大家好!我开始学习 Kotlin,遇到了一个意想不到的问题。当我写普通的 `for` 循环时,可以正常使用 `break` 和 `continue`: ```kotlin for (i in 1..10) { if (i == 5) break if (i % 2 == 0) continue println(i) } ``` 但当我尝试在 `forEach` 中做同样的事情时: ```kotlin val numbers = listOf(1, 2, 3, 4, 5, 6, 7, 8, 9, 10) numbers.forEach { i -> if (i == 5) break // 编译错误! if (i % 2 == 0) continue // 也是错误! println(i) } ``` 编译器报错:"break and continue are only allowed inside a loop"。我知道 `forEach` 不是循环,而是一个接受 lambda 的高阶函数。但我需要某种方式中断执行或跳过迭代。请告诉我如何正确实现?有没有类似的替代方法?我试过用 `return`,但它会直接退出整个函数,而不是只退出 `forEach`。提前感谢帮助! <<>>

问题: