Sobes.tech
Junior

Cum ar trebui să verificați valorile null în cod?

sobes.tech AI

Răspuns de la AI

În Kotlin, se utilizează următoarele abordări pentru a lucra cu tipuri nullable și pentru verificarea null:

  1. Operatorul de apel sigur (?.): Permite apelarea metodelor sau accesarea proprietăților unui obiect doar dacă obiectul nu este null. Dacă obiectul este null, întreaga apelare returnează null.

  2. Operatorul Elvis (?:): Permite furnizarea unei valori implicite dacă expresia din stânga operatorului este null.

  3. Operatorul de apel nesigur (!!): Convertește un tip nullable în non-nullable. Dacă valoarea este null, va fi generată o excepție NullPointerException. Utilizarea este extrem de nerecomandată, deoarece poate duce la prăbușirea aplicației.

  4. Blocul if cu verificare de null: Metoda tradițională de verificare, adesea utilizată împreună cu smart casts din Kotlin.

// Operatorul de apel sigur ?.
val length = text?.length

// Smart cast după verificarea de null
if (text != null) {
    val length = text.length // text este convertit automat în String (non-nullable)
}

// Operatorul Elvis ?:
val nonNullText = text ?: "Text implicit"

// Operatorul de apel nesigur !! (evitați-l dacă se poate)
val forceLength = text!!.length // Poate arunca NullPointerException

În Java, verificarea de null se face exclusiv cu ajutorul operatorilor condiționali if:

// Java
if (text != null) {
    int length = text.length();
} else {
    // Tratarea cazului când text este null
}