Hogyan kell ellenőrizni a null értékeket a kódban?
sobes.tech MI
Válasz az MI-től
Kotlinban a nullable típusokkal való munkához és a null ellenőrzéséhez a következő megközelítéseket használják:
-
Biztonságos hívási operátor (
?.): Lehetővé teszi, hogy metódusokat hívjunk vagy tulajdonságokat érjünk el egy objektumon csak akkor, ha az nemnull. Ha az objektumnull, az egész hívásnull-t ad vissza. -
Elvis operátor (
?:): Lehetővé teszi, hogy alapértelmezett értéket adjunk meg, ha a bal oldali kifejezésnull. -
Biztonság nélküli hívási operátor (
!!): Átalakítja a nullable típust non-nullable típussá. Ha az értéknull,NullPointerExceptionkeletkezik. A használat rendkívül nem ajánlott, mivel az alkalmazás összeomlásához vezethet. -
ifblokknullellenőrzéssel: Hagyományos módszer, gyakran használják Kotlin okos típusátalakításaival együtt.
// Biztonságos hívási operátor ?.
val length = text?.length
// Okos típusátalakítás null ellenőrzés után
if (text != null) {
val length = text.length // a text automatikusan String típusra lesz castolva (nem null)
}
// Elvis operátor ?:
val nonNullText = text ?: "Alapértelmezett szöveg"
// Biztonság nélküli hívási operátor !! (kerülendő, ha lehet)
val forceLength = text!!.length // Kockázatot jelent NullPointerException
Java-ban a null ellenőrzés kizárólag if-feltételekkel történik:
// Java
if (text != null) {
int length = text.length();
} else {
// Kezelés, ha a text null
}