Sobes.tech
Junior

Kako treba proveravati null vrednosti u kodu?

sobes.tech АИ

Одговор од АИ

U Kotlinu se koriste sledeći pristupi za rad sa nullable tipovima i proveru na null:

  1. Operator sigurnog poziva (?.): Omogućava pozivanje metoda ili pristup svojstvima objekta samo ako objekat nije null. Ako je objekat null, cela poziv vraća null.

  2. Elvis operator (?:): Omogućava da se obezbedi podrazumevana vrednost ako je izraz levo od operatora null.

  3. Operator nesigurnog poziva (!!): Pretvara nullable tip u non-nullable. Ako je vrednost null, biće izazvana izuzetkom NullPointerException. Upotreba je snažno odvratna, jer može dovesti do pada aplikacije.

  4. Blok if sa proverom na null: Tradicionalni način provere, često korišćen u kombinaciji sa Kotlinovim smart castovima.

// Operator sigurnog poziva ?.
val length = text?.length

// Smart cast nakon provere na null
if (text != null) {
    val length = text.length // text automatski pretvoren u String (non-nullable)
}

// Elvis operator ?:
val nonNullText = text ?: "Podrazumevani tekst"

// Operator nesigurnog poziva !! (izbegavati ako je moguće)
val forceLength = text!!.length // Može izazvati NullPointerException

U Javi, provera na null se vrši isključivo pomoću uslovnih operatora if:

// Java
if (text != null) {
    int length = text.length();
} else {
    // Obrada slučaja kada je text null
}