Wie verwendet man break und continue innerhalb von forEach in Kotlin?
Hallo zusammen! Ich habe angefangen, Kotlin zu lernen, und bin auf ein unerwartetes Problem gestoßen. Wenn ich eine normale `for`-Schleife schreibe, kann ich problemlos `break` und `continue` verwenden:
```kotlin
for (i in 1..10) {
if (i == 5) break
if (i % 2 == 0) continue
println(i)
}
```
Aber sobald ich dasselbe innerhalb von `forEach` versuche:
```kotlin
val numbers = listOf(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
numbers.forEach { i ->
if (i == 5) break // Compiler-Fehler!
if (i % 2 == 0) continue // Ebenfalls ein Fehler!
println(i)
}
```
Der Compiler gibt einen Fehler aus: "break and continue are only allowed inside a loop". Ich verstehe, dass `forEach` keine Schleife ist, sondern eine Higher-Order-Funktion, die ein Lambda akzeptiert. Aber ich muss irgendwie die Ausführung abbrechen oder eine Iteration überspringen. Könnt ihr mir sagen, wie das geht?
Noch keine Antworten.
Anmelden um eine Antwort zu hinterlassen