Nullprüfung in Kotlin implementieren
-
Verwenden Sie bedingte Anweisungen, um eine
Null
-Prüfung in Kotlin zu implementieren -
Verwenden Sie Safe Calls, um eine
Null
-Prüfung in Kotlin zu implementieren -
Verwenden Sie den Elvis-Operator, um einen
Null
-Check in Kotlin zu implementieren
Mehrere primitive Typen akzeptieren keine null
und werfen Fehler. Fehler, die mit null
-Referenzen gemacht werden, können Anwendungsfehler oder sogar Systemabstürze verursachen; Daher ist es wichtig, null
-Referenzen zu überprüfen, bevor ein Programm ausgeführt wird.
Kotlin ermöglicht es uns, null
auf verschiedene Weise zu überprüfen. In diesem Artikel erfahren Sie, wie Sie in Kotlin nach null
suchen und NullPointerException
-Fehler verhindern.
Verwenden Sie bedingte Anweisungen, um eine Null
-Prüfung in Kotlin zu implementieren
Der einfachste Weg, null
in Kotlin zu überprüfen, ist die Verwendung von bedingten Anweisungen. Hier können wir Bedingungsoperatoren ==
oder !=
verwenden und die bedingten Anweisungen entsprechend ausführen.
Wir können auch ===
statt ==
und !==
statt !=
verwenden. Eine strukturelle Gleichheit x == null
wird ohnehin in referentielle Gleichheit x === null
übersetzt; Daher macht es keinen großen Unterschied, ob Sie ==
oder ===
verwenden.
Hier ist ein Beispiel, um die Verwendung von Bedingungsanweisungen für die null
-Prüfung in Kotlin zu zeigen.
fun main() {
val x: String? = "Android"
if (x != null && x.length > 0) {
print("This is not null, its length is: ${x.length}")
} else {
print("This is a null string!")
}
}
Ausgabe:
Klicken Sie hier, um die Demo des Beispiels zu überprüfen.
Wenn wir nun den Wert auf null
ändern, wird die andere Ausgabe ausgegeben.
fun main() {
val x: String? = null
if (x != null && x.length > 0) {
print("This is not null, its length is: ${x.length}")
} else {
print("This is a null string!")
}
}
Ausgabe:
Klicken Sie hier, um die Demo des Beispiels zu überprüfen.
Bedingte Anweisungen funktionieren nur, wenn die Variable mit dem Schlüsselwort val
deklariert wird. Das Schlüsselwort val
macht das Wort unveränderlich.
Wenn wir eine var
-Variable verwenden, besteht die Möglichkeit, dass sich der Wert der Variablen ändert, nachdem wir nach den null
-Referenzen gesucht haben.
Verwenden Sie Safe Calls, um eine Null
-Prüfung in Kotlin zu implementieren
Sichere Aufrufe sind eine weitere Option, um auf Nullable-Properties für die null
-Prüfung in Kotlin zuzugreifen. Wir können den Safe-Call-Operator ?.
verwenden. um das Ergebnis eines Ausdrucks zu überprüfen.
Basierend auf den Ausdrucksergebnissen können wir dann die weiteren Anweisungen ausführen.
Hier ist ein Beispiel.
fun main() {
val v = "Android"
val x: String? = null
println(v?.length)
println(x?.length)
}
Ausgabe:
Klicken Sie hier, um die Demo des Beispiels zu überprüfen.
Sichere Anrufe sind besonders nützlich beim Erstellen von Ketten. Wir können zum Beispiel schreiben:
a?.b?.c?.d
Wenn im obigen Beispiel a
nicht null
ist, wird es zu b
verschoben. Wenn b
nicht null
ist, wird es zu c
verschoben, und wenn c
nicht null
ist, wird es zu d
verschoben.
Immer wenn der Compiler einen null
-Wert findet, stoppt er die Ausführung und gibt null
zurück.
Verwenden Sie sichere Aufrufe mit der let
-Funktion, um mit der Null
in Kotlin umzugehen
Wenn einer der Werte einer Liste null
ist, gibt der Compiler normalerweise null
zurück. Wir können jedoch die let
-Funktion mit sicheren Aufrufen kombinieren, um nur mit Nicht-null
-Werten einer Liste zu arbeiten.
Beispiel:
fun main() {
val myList: List<String?> = listOf("David", "Virat", "Steve", null)
for (i in myList) {
i?.let { println(it) } // prints only non-null values
}
}
Ausgabe:
Klicken Sie hier, um die Demo des Beispiels zu überprüfen.
Verwenden Sie den Elvis-Operator, um einen Null
-Check in Kotlin zu implementieren
Eine weitere hervorragende Option für die Kotlin-Nullprüfung ist die Verwendung des Elvis-Operators ?:
. Es wird einen Nicht-null
- oder einen Standardwert zurückgeben, wenn es einen null
-Wert in den Referenzen findet.
Es gibt zwei Ausdrücke: links und rechts vom Elvis-Operator. Wenn der Wert des linken Ausdrucks nicht null
ist, gibt der Operator den Wert zurück, aber wenn der linke Ausdruck null
ist, gibt der Elvis-Operator den Wert des Ausdrucks auf der rechten Seite zurück.
Der Schlüssel hier ist, dass der Elvis-Operator den rechten Ausdruck nur dann ausführt, wenn der linke Ausdruck null
ist.
Beispiel:
fun main(args: Array<String>) {
val i: String? = null
val j: String = i ?: "Welcome! This is Kotlin Programming."
// This print statement uses the Elvis operator
println(i ?: j)
}
Ausgabe:
Klicken Sie hier, um die Demo des Beispiels zu überprüfen.
Kailash Vaviya is a freelance writer who started writing in 2019 and has never stopped since then as he fell in love with it. He has a soft corner for technology and likes to read, learn, and write about it. His content is focused on providing information to help build a brand presence and gain engagement.
LinkedIn