Jak należy sprawdzać wartości null w kodzie?
sobes.tech AI
Odpowiedź od AI
W Kotlinie do pracy z typami nullable i sprawdzania null używa się następujących podejść:
-
Operator bezpiecznego wywołania (
?.): Pozwala wywołać metodę lub uzyskać dostęp do właściwości obiektu tylko wtedy, gdy obiekt nie jestnull. Jeśli obiekt jestnull, cały wywołanie zwracanull. -
Operator Elvis (
?:): Pozwala podać wartość domyślną, jeśli wyrażenie po lewej stronie operatora jestnull. -
Operator niebezpiecznego wywołania (
!!): Konwertuje nullable-typ na non-nullable. Jeśli wartość jestnull, zostanie wyrzucony wyjątekNullPointerException. Użycie jest wysoce odradzane, ponieważ może spowodować awarię aplikacji. -
Blok
ifz sprawdzeniem nanull: Tradycyjny sposób sprawdzania, często używany w połączeniu z smart castami Kotlin.
// Operator bezpiecznego wywołania ?.
val length = text?.length
// Smart cast po sprawdzeniu na null
if (text != null) {
val length = text.length // text automatycznie rzutowany na String (non-nullable)
}
// Operator Elvis ?:
val nonNullText = text ?: "Domyślny tekst"
// Operator niebezpiecznego wywołania !! (unikaj go, jeśli to możliwe)
val forceLength = text!!.length // Może wyrzucić NullPointerException
W Javie sprawdzanie na null odbywa się wyłącznie za pomocą instrukcji warunkowych if:
// Java
if (text != null) {
int length = text.length();
} else {
// Obsługa przypadku, gdy text jest null
}