Sobes.tech
Junior — Middle

Vysvetlite koncept bezpečnej práce s null v jazyku Kotlin a ako je implementovaný.

sobes.tech AI

Odpoveď od AI

V Kotlinu je koncept sigurnog rada s null implementiran kroz sustav tipova koji podržava nullable i non-nullable tipove.

  • Po defaultu, varijable ne mogu sadržavati null. Na primjer, var a: String = "tekst" ne može biti null.
  • Da bi se dozvolio null, tip se deklarira s ?, na primjer, var b: String? = null.

Za rad s nullable tipovima, Kotlin pruža:

  • Operator sigurnog poziva ?. — omogućava pozivanje metode ili pristup svojstvu ako objekt nije null, inače vraća null.
  • Elvis operator ?: — postavlja zadanu vrijednost ako je izraz lijevo od null.
  • Operator potvrde non-null !! — forsira konverziju nullable tipa u non-nullable, bacajući iznimku ako je vrijednost null.

Primjer:

val name: String? = null
println(name?.length) // Ispisat će null, ne izaziva grešku
println(name?.length ?: 0) // Ispisat će 0
println(name!!.length) // Bacit će NullPointerException

Na ovaj način, Kotlin pomaže izbjeći klasične pogreške s null tijekom kompilacije, čineći kod pouzdanijim.