Magyarázza el a 'when' kifejezés fogalmát a Kotlin programozási nyelvben.
sobes.tech MI
Válasz az MI-től
A Kotlin when egy univerzális szerkezeti operátor, amely helyettesíti a hagyományos switch-et más nyelvekben. Kifejezésként (értéket adva vissza) vagy operátorként használható.
Fő funkciók:
-
Értékek összehasonlítása: Megfeleltetés konkrét értékekkel.
fun describe(obj: Any): String = when (obj) { 1 -> "Egy" "Hello" -> "Üdvözlet" is Long -> "Hosszú" !is String -> "Nem sztring" else -> "Ismeretlen" } -
Típus ellenőrzése (
is/!is): Megfeleltetés adatok típusával. -
Bele tartozás ellenőrzése (
in/!in): Ellenőrzés, hogy egy érték tartozik-e egy tartományhoz vagy gyűjteményhez.fun checkRange(x: Int): String = when (x) { in 1..10 -> "Pozitív szám tartományban" !in 10..20 -> "Nem a második tartományban" else -> "Egyik sem fentiek közül" } -
Argumentum nélkül: Használható rugalmasabb helyettesítésként az
if-else if-elseláncoknak. A feltételek egymás után értékelődnek.fun checkBoolean(x: Boolean, y: Boolean): String = when { x && y -> "Mindkettő igaz" !x && !y -> "Mindkettő hamis" else -> "Keverék" } -
Érték visszaadása: Ha a
whenkifejezésként van használva, akkor kimerítőnek kell lennie (minden lehetséges esetet lefed vagyelseágat tartalmaz).
A when javítja a kód olvashatóságát és biztonságát a hagyományos switch-hez képest.