Sobes.tech
Junior

Kā būtu jāpārbauda null vērtības kodā?

sobes.tech AI

Atbilde no AI

Kotlinā tiek izmantoti šādi pieejas veidi, strādājot ar nullable tipus un null pārbaudi:

  1. Drošais izsaukšanas operators (?.): Atļauj izsaukt metodes vai piekļūt īpašībām objekta tikai tad, ja objekts nav null. Ja objekts ir null, visa izsaukšana atgriež null.

  2. Elvis operators (?:): Nodrošina noklusējuma vērtību, ja izteiksme pa kreisi no operatora ir null.

  3. Nedrošais izsaukšanas operators (!!): Pārvērš nullable tipu uz non-nullable. Ja vērtība ir null, tiks izsviesta NullPointerException. Lietošana ir stingri neiesakāma, jo tas var novest pie programmas avārijas.

  4. if bloks ar null pārbaudi: Tradiocionāls veids, bieži lietots kopā ar Kotlin smart castiem.

// Drošais izsaukšanas operators ?.
val length = text?.length

// Smart cast pēc `null` pārbaudes
if (text != null) {
    val length = text.length // teksts automātiski tiek pārvērsts uz String (non-nullable)
}

// Elvis operators ?:
val nonNullText = text ?: "Noklusējuma teksts"

// Nedrošais izsaukšanas operators !! (izvairieties, ja iespējams)
val forceLength = text!!.length // Var izraisīt NullPointerException

Java valodā null pārbaudi veic tikai ar nosacījuma operatoriem if:

// Java
if (text != null) {
    int length = text.length();
} else {
    // Apstrāde gadījumā, ja text ir null
}