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:
-
Drošais izsaukšanas operators (
?.): Atļauj izsaukt metodes vai piekļūt īpašībām objekta tikai tad, ja objekts navnull. Ja objekts irnull, visa izsaukšana atgriežnull. -
Elvis operators (
?:): Nodrošina noklusējuma vērtību, ja izteiksme pa kreisi no operatora irnull. -
Nedrošais izsaukšanas operators (
!!): Pārvērš nullable tipu uz non-nullable. Ja vērtība irnull, tiks izsviestaNullPointerException. Lietošana ir stingri neiesakāma, jo tas var novest pie programmas avārijas. -
ifbloks arnullpā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
}