Junior
Objasnite koncept izraza 'when' u programskom jeziku Kotlin.
sobes.tech АИ
Одговор од АИ
when u Kotlinu je univerzalni strukturni operator koji zamenjuje klasični switch u drugim jezicima. Može se koristiti kao izraz (koji vraća vrednost) ili kao operator.
Glavne mogućnosti:
-
Poređenje vrednosti: Usklađivanje sa određenim vrednostima.
fun describe(obj: Any): String = when (obj) { 1 -> "Jedan" "Hello" -> "Pozdrav" is Long -> "Dugačko" !is String -> "Nije niz" else -> "Nepoznato" } -
Provera tipa (
is/!is): Usklađivanje sa tipovima podataka. -
Provera pripadnosti (
in/!in): Provera da li vrednost pripada opsegu ili kolekciji.fun checkRange(x: Int): String = when (x) { in 1..10 -> "Pozitivan broj u opsegu" !in 10..20 -> "Nije u drugom opsegu" else -> "Ni jedan od prethodnih" } -
Bez argumenta: Koristi se kao fleksibilnija zamena za lanac
if-else if-else. Uslovi se procenjuju redom.fun checkBoolean(x: Boolean, y: Boolean): String = when { x && y -> "Oba tačna" !x && !y -> "Oba netačna" else -> "Mešovito" } -
Vraćanje vrednosti: Ako se
whenkoristi kao izraz, mora biti iscrpan (da pokriva sve moguće slučajeve ili da ima granuelse).
when poboljšava čitljivost i sigurnost koda u poređenju sa tradicionalnim switch.