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:
-
Operator sigurnog poziva (
?.): Omogućava pozivanje metoda ili pristup svojstvima objekta samo ako objekat nijenull. Ako je objekatnull, cela poziv vraćanull. -
Elvis operator (
?:): Omogućava da se obezbedi podrazumevana vrednost ako je izraz levo od operatoranull. -
Operator nesigurnog poziva (
!!): Pretvara nullable tip u non-nullable. Ako je vrednostnull, biće izazvana izuzetkomNullPointerException. Upotreba je snažno odvratna, jer može dovesti do pada aplikacije. -
Blok
ifsa proverom nanull: 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
}