Kas ir 'nullable' tipi Kotlin un kā tie darbojas?
sobes.tech AI
Atbilde no AI
Nullable tipi Kotlin - tas tipi, kuri var būt satur gan vērtību, gan null. Tie tieši norādīti ar simbolu ? pēc tipa nosaukuma.
Darbojas, balstoties uz Kotlin tipu sistēmu, kas novērš NullPointerException kompilācijas laikā. Kompilators pieprasa skaidru null pārbaudi pirms piekļuves nullable tipa locekļiem.
Galvenie veidi, kā droši strādāt ar nullable tipiem:
-
nullpārbaude, izmantojotif:fun printLength(str: String?) { if (str != null) { println(str.length) // Droša izsaukšana pēc `null` pārbaudes } else { println("Rinda ir null") } } -
Drošas izsaukšanas operators (
?.): Atgriežnull, ja objekts irnull, citādi – izsaukuma rezultātu.val safeLength: Int? = str?.length // Ja str ir null, safeLength būs null -
Elvisa operators (
?:): Atļauj norādīt noklusējuma vērtību, ja izteiksme pa kreisi irnull.val lengthOrDefault: Int = str?.length ?: 0 // Ja str ir null, lengthOrDefault būs 0 -
Skaidrs ne-null apstiprinājuma operators (
!!): Pārvērš nullable tipu ne-nullable. Jālieto uzmanīgi, jo, ja vērtība irnull, tas izraisīsNullPointerException.val assertedLength: Int = str!!.length // Ja str ir null, izraisīs NPE -
let/run/apply/alsofunkcijas ar drošu izsaukumu:str?.let { // Kods tiks izpildīts tikai, ja str nav null println("Rindas garums: ${it.length}") }
Kotlin nullable tipu sistēma būtiski uzlabo drošību un samazina NullPointerException rašanās iespēju, salīdzinot ar valodām, kur null var tikt piešķirts jebkuram tipam bez skaidras norādes.