Sobes.tech
Junior — Middle

Μπορεί κανείς να διακόψει πρόωρα έναν βρόχο forEach μέσα στο σώμα του;

sobes.tech AI

Απάντηση από AI

Στην Kotlin και Java, η τυπική μέθοδος forEach δεν υποστηρίζει πρόωρη έξοδο από τον βρόχο μέσω break ή return από το lambda, καθώς είναι μια λειτουργία ανώτερου επιπέδου.

Εάν χρειάζεται να διακόψετε την εκτέλεση του βρόχου πρόωρα, είναι καλύτερο να χρησιμοποιήσετε έναν κλασικό βρόχο for ή ένα for με δείκτες:

for (item in collection) {
    if (someCondition(item)) {
        break // πρόωρη έξοδος από τον βρόχο
    }
    // επεξεργασία item
}

Ή να χρησιμοποιήσετε forEach με εξαίρεση, αλλά αυτό δεν συνιστάται λόγω μειωμένης αναγνωσιμότητας.

Επομένως, δεν είναι δυνατή η άμεση διακοπή του forEach μέσα στο σώμα του.