Sobes.tech
Junior

Leg uit wat de 'when'-uitdrukking betekent in de programmeertaal Kotlin.

sobes.tech AI

Antwoord van AI

when in Kotlin is een universele structurele operator die de klassieke switch in andere talen vervangt. Het kan worden gebruikt als een uitdrukking (die een waarde retourneert) of als een operator.

Belangrijkste functies:

  • Vergelijking van waarden: Afstemming op specifieke waarden.

    fun describe(obj: Any): String =
        when (obj) {
            1           -> "Eén"
            "Hello"     -> "Begroeting"
            is Long     -> "Lang"
            !is String  -> "Geen string"
            else        -> "Onbekend"
        }
    
  • Typecontrole (is/!is): Afstemming op datatypes.

  • Ingangscontrole (in/!in): Controle of een waarde binnen een bereik of collectie valt.

    fun checkRange(x: Int): String =
        when (x) {
            in 1..10   -> "Positief getal in bereik"
            !in 10..20 -> "Niet in het tweede bereik"
            else       -> "Geen van de bovenstaande"
        }
    
  • Zonder argument: Wordt gebruikt als een flexibelere vervanging voor if-else if-else ketens. De voorwaarden worden achtereenvolgens geëvalueerd.

    fun checkBoolean(x: Boolean, y: Boolean): String =
        when {
            x && y -> "Beide waar"
            !x && !y -> "Beide onwaar"
            else -> "Gemengd"
        }
    
  • Waarde retourneren: Als when als uitdrukking wordt gebruikt, moet het volledig zijn (alle mogelijke gevallen dekken of een else-tak hebben).

when verbetert de leesbaarheid en veiligheid van de code in vergelijking met de traditionele switch.