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:
-
Operatorul de apel sigur (
?.): Permite apelarea metodelor sau accesarea proprietăților unui obiect doar dacă obiectul nu estenull. Dacă obiectul estenull, întreaga apelare returneazănull. -
Operatorul Elvis (
?:): Permite furnizarea unei valori implicite dacă expresia din stânga operatorului estenull. -
Operatorul de apel nesigur (
!!): Convertește un tip nullable în non-nullable. Dacă valoarea estenull, va fi generată o excepțieNullPointerException. Utilizarea este extrem de nerecomandată, deoarece poate duce la prăbușirea aplicației. -
Blocul
ifcu verificare denull: 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
}