Sobes.tech
Junior

Erklären Sie das Konzept des Ausdrucks 'when' in der Programmiersprache Kotlin.

sobes.tech KI

Antwort von AI

when in Kotlin ist ein universeller struktureller Operator, der den klassischen switch in anderen Sprachen ersetzt. Es kann als Ausdruck (der einen Wert zurückgibt) oder als Operator verwendet werden.

Hauptfunktionen:

  • Vergleich von Werten: Übereinstimmung mit bestimmten Werten.

    fun describe(obj: Any): String =
        when (obj) {
            1           -> "Eins"
            "Hello"     -> "Begrüßung"
            is Long     -> "Lang"
            !is String  -> "Kein String"
            else        -> "Unbekannt"
        }
    
  • Typüberprüfung (is/!is): Übereinstimmung mit Datentypen.

  • Prüfung auf Zugehörigkeit (in/!in): Überprüfung auf Zugehörigkeit zu einem Bereich oder einer Sammlung.

    fun checkRange(x: Int): String =
        when (x) {
            in 1..10   -> "Positiv in Bereich"
            !in 10..20 -> "Nicht im zweiten Bereich"
            else       -> "Keines der oben"
        }
    
  • Ohne Argument: Wird als flexiblere Alternative zu if-else if-else-Ketten verwendet. Bedingungen werden nacheinander geprüft.

    fun checkBoolean(x: Boolean, y: Boolean): String =
        when {
            x && y -> "Beide wahr"
            !x && !y -> "Beide falsch"
            else -> "Gemischt"
        }
    
  • Rückgabe eines Wertes: Wenn when als Ausdruck verwendet wird, muss es vollständig sein (alle möglichen Fälle abdecken oder eine else-Klausel haben).

when erhöht die Lesbarkeit und Sicherheit des Codes im Vergleich zu herkömmlichem switch.