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:
-
Veilige aanroepoperator (
?.): Hiermee kun je methoden aanroepen of eigenschappen benaderen van een object alleen als het object nietnullis. Als het objectnullis, geeft de hele aanroepnullterug. -
Elvis-operator (
?:): Hiermee kun je een standaardwaarde bieden als de uitdrukking links van de operatornullis. -
Onveilige aanroepoperator (
!!): Converteert een nullable-waarde naar non-nullable. Als de waardenullis, wordt eenNullPointerExceptiongegenereerd. Het gebruik wordt sterk afgeraden, omdat het kan leiden tot het crashen van de applicatie. -
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
}