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
whenals Ausdruck verwendet wird, muss es vollständig sein (alle möglichen Fälle abdecken oder eineelse-Klausel haben).
when erhöht die Lesbarkeit und Sicherheit des Codes im Vergleich zu herkömmlichem switch.