Sobes.tech
Junior

Hoe moet je null-waarden in de code controleren?

sobes.tech AI

Antwoord van AI

In Kotlin worden de volgende benaderingen gebruikt voor het werken met nullable-typen en null-controle:

  1. Veilige aanroepoperator (?.): Hiermee kun je methoden aanroepen of eigenschappen benaderen van een object alleen als het object niet null is. Als het object null is, geeft de hele aanroep null terug.

  2. Elvis-operator (?:): Hiermee kun je een standaardwaarde bieden als de uitdrukking links van de operator null is.

  3. Onveilige aanroepoperator (!!): Converteert een nullable-waarde naar non-nullable. Als de waarde null is, wordt een NullPointerException gegenereerd. Het gebruik wordt sterk afgeraden, omdat het kan leiden tot het crashen van de applicatie.

  4. if-blok met null-controle: Traditionele manier van controleren, vaak gebruikt in combinatie met Kotlin's smart casts.

// Veilige aanroepoperator ?.
val length = text?.length

// Smart cast na null-controle
if (text != null) {
    val length = text.length // text wordt automatisch gecast naar String (non-nullable)
}

// Elvis-operator ?:
val nonNullText = text ?: "Standaardtekst"

// Onveilige aanroepoperator !! (vermijd indien mogelijk)
val forceLength = text!!.length // Kan een NullPointerException veroorzaken

In Java wordt null-controle uitsluitend gedaan met conditionele operatoren if:

// Java
if (text != null) {
    int length = text.length();
} else {
    // Afhandeling wanneer text null is
}