Sobes.tech
Junior — Middle

Selgitage nulliga turvalise töö kontseptsiooni Kotlinis ja kuidas see on rakendatud.

sobes.tech AI

Vastus AI-lt

Kotlinis, koncepcija turvaliseks töötamiseks null-iga on realiseeritud tüübisüsteemi kaudu, mis toetab nullable ja non-nullable tüüpe.

  • Vaikimisi ei saa muutujad sisaldada null. Näiteks, var a: String = "tekst" ei saa olla null.
  • null-i lubamiseks deklareeritakse tüüp ?-ga, näiteks, var b: String? = null.

Nullable tüüpidega töötamiseks pakub Kotlin järgmisi tööriistu:

  • Turvalise väljakutse operaator ?. — võimaldab kutsuda meetodit või pääseda omadusele, kui objekt ei ole null, vastasel juhul tagastab null.
  • Elvis operaator ?: — määrab vaikimisi väärtuse, kui vasakpoolne avaldis on null.
  • !!-i mitte-null kinnitamise operaator — sunniviisiliselt konverteerib nullable tüübi non-nullable-ks, visates erandi, kui väärtus on null.

Näide:

val name: String? = null
println(name?.length) // Kuvab null, ei põhjusta viga
println(name?.length ?: 0) // Kuvab 0
println(name!!.length) // Viskab NullPointerException

Sellisel viisil aitab Kotlin vältida klassikalisi vigu null-iga seoses kompileerimise ajal, muutes koodi usaldusväärsemaks.