Umgang mit Null-Strings vor der Prüfung auf Leerheit
Im vorherigen Schritt haben wir gelernt, wie man die Methode isEmpty()
verwendet, um zu prüfen, ob ein String leer ist. Es gibt jedoch in Java ein wichtiges Konzept namens null
. Ein null
-Wert bedeutet, dass eine Variable auf kein Objekt verweist. Wenn Sie versuchen, eine Methode wie isEmpty()
auf einen null
-String aufzurufen, stürzt Ihr Programm mit einer NullPointerException
ab.
Es ist von entscheidender Bedeutung, null
-Strings zu behandeln, bevor Sie versuchen, irgendeine Methode auf sie anzuwenden. Der sicherste Weg, dies zu tun, ist, zunächst zu prüfen, ob der String null
ist.
Lassen Sie uns unser Programm ändern, um zu demonstrieren, wie man mit null
-Strings umgeht.
-
Öffnen Sie die Datei HelloJava.java
im WebIDE-Editor.
-
Ersetzen Sie den vorhandenen Code durch den folgenden:
public class HelloJava {
public static void main(String[] args) {
String str1 = "Hello";
String str2 = "";
String str3 = null; // This string is null
System.out.println("Checking String 1: \"" + str1 + "\"");
if (str1 != null && !str1.isEmpty()) {
System.out.println("String 1 is not null and not empty.");
} else {
System.out.println("String 1 is null or empty.");
}
System.out.println("\nChecking String 2: \"" + str2 + "\"");
if (str2 != null && !str2.isEmpty()) {
System.out.println("String 2 is not null and not empty.");
} else {
System.out.println("String 2 is null or empty.");
}
System.out.println("\nChecking String 3: " + str3); // Note: printing null doesn't crash
if (str3 != null && !str3.isEmpty()) {
System.out.println("String 3 is not null and not empty.");
} else {
System.out.println("String 3 is null or empty.");
}
}
}
In diesem Code:
- Wir führen einen
null
-String str3
ein.
- Bevor wir
isEmpty()
aufrufen, prüfen wir zunächst, ob der String null
ist, indem wir str != null
verwenden.
- Wir verwenden den logischen UND-Operator (
&&
), um die null
-Prüfung und die isEmpty()
-Prüfung zu kombinieren. Der Teil !str.isEmpty()
wird nur ausgewertet, wenn str != null
wahr ist, wodurch die NullPointerException
verhindert wird.
- Die
if
-Anweisung prüft, ob der String nicht null
UND nicht leer ist.
-
Speichern Sie die Datei (Strg+S oder Cmd+S).
-
Kompilieren Sie das Programm im Terminal:
javac HelloJava.java
-
Führen Sie das Programm aus:
java HelloJava
Sie sollten eine Ausgabe ähnlich der folgenden sehen:
Checking String 1: "Hello"
String 1 is not null and not empty.
Checking String 2: ""
String 2 is null or empty.
Checking String 3: null
String 3 is null or empty.
Diese Ausgabe zeigt, dass unser Code korrekt erkennt, dass str1
weder null
noch leer ist und dass str2
und str3
null
oder leer sind, ohne dass das Programm abstürzt.
Indem Sie vor dem Aufruf von Methoden auf Strings auf null
prüfen, machen Sie Ihre Java-Programme robuster und vermeiden häufige Fehler. Dies ist eine sehr wichtige Praxis in der Java-Programmierung.