Explicați conceptul expresiei 'when' în limbajul de programare Kotlin.
sobes.tech AI
Răspuns de la AI
when în Kotlin este un operator structural universal care înlocuiește switch clasic în alte limbaje. Poate fi utilizat ca expresie (returnând o valoare) sau ca operator.
Funcții principale:
-
Compararea valorilor: Potrivire cu valori specifice.
fun describe(obj: Any): String = when (obj) { 1 -> "Un" "Hello" -> "Salut" is Long -> "Lung" !is String -> "Nu este un șir" else -> "Necunoscut" } -
Verificarea tipului (
is/!is): Potrivire cu tipuri de date. -
Verificarea de apartenență (
in/!in): Verificare dacă valoarea aparține unui interval sau colecție.fun checkRange(x: Int): String = when (x) { in 1..10 -> "Număr pozitiv în interval" !in 10..20 -> "Nu în al doilea interval" else -> "Nici unul dintre cele de mai sus" } -
Fără argument: Folosit ca o înlocuire mai flexibilă pentru lanțurile
if-else if-else. Condițiile sunt evaluate în succesiune.fun checkBoolean(x: Boolean, y: Boolean): String = when { x && y -> "Ambele adevărate" !x && !y -> "Ambele false" else -> "Mixe" } -
Returnarea valorii: Dacă
wheneste folosit ca expresie, trebuie să fie exhaustiv (să acopere toate cazurile posibile sau să aibă o ramurăelse).
when îmbunătățește lizibilitatea și siguranța codului comparativ cu switch tradițional.