Kombination von isBlank()
mit einer Null-Prüfung
Im vorherigen Schritt haben Sie gelernt, wie Sie isBlank()
verwenden können, um leere Strings oder Strings, die nur Leerzeichen enthalten, zu prüfen. Allerdings löst isBlank()
eine NullPointerException
aus, wenn die String-Variable null
ist. In realen Anwendungen ist es üblich, auf null
-Strings zu treffen, daher ist es wichtig, diese gracefully zu behandeln.
Um sicherzustellen, dass ein String entweder null
oder leer ist, sollten Sie eine Null-Prüfung mit der isBlank()
-Methode kombinieren. Die gebräuchlichste Methode dazu ist die Verwendung einer if
-Anweisung:
if (str == null || str.isBlank()) {
// Der String ist null oder leer
} else {
// Der String ist weder null noch leer
}
Ändern wir unser Programm, um einen null
-String einzubeziehen und zu demonstrieren, wie man ihn behandelt.
-
Öffnen Sie die Datei HelloJava.java
im WebIDE-Editor.
-
Ersetzen Sie den aktuellen Code durch folgenden:
public class HelloJava {
public static void main(String[] args) {
String str1 = ""; // Leerer String
String str2 = " "; // String mit nur Leerzeichen
String str3 = "Hello"; // Nicht-leerer String
String str4 = null; // Null-String
System.out.println("Ist str1 null oder leer? " + (str1 == null || str1.isBlank()));
System.out.println("Ist str2 null oder leer? " + (str2 == null || str2.isBlank()));
System.out.println("Ist str3 null oder leer? " + (str3 == null || str3.isBlank()));
System.out.println("Ist str4 null oder leer? " + (str4 == null || str4.isBlank()));
}
}
In diesem aktualisierten Code:
- Wir haben eine
null
-String-Variable str4
hinzugefügt.
- Wir verwenden die Bedingung
str == null || str.isBlank()
, um zu prüfen, ob jeder String entweder null
oder leer ist. Der ||
-Operator bedeutet "oder". Wenn der erste Teil (str == null
) wahr ist, wird der zweite Teil (str.isBlank()
) gar nicht geprüft, was die NullPointerException
verhindert.
-
Speichern Sie die Datei (Strg+S oder Cmd+S).
-
Kompilieren Sie das geänderte Programm im Terminal:
javac HelloJava.java
-
Führen Sie das kompilierte Programm aus:
java HelloJava
Sie sollten die folgende Ausgabe sehen:
Ist str1 null oder leer? true
Ist str2 null oder leer? true
Ist str3 null oder leer? false
Ist str4 null oder leer? true
Diese Ausgabe zeigt, dass unsere kombinierte Prüfung den leeren String, den String mit Leerzeichen und den null
-String korrekt als "null oder leer" identifiziert, während der nicht-leere String korrekt als "nicht null und nicht leer" identifiziert wird.
Das Kombinieren der Null-Prüfung mit isBlank()
ist eine robuste Methode, um verschiedene String-Zustände in Ihren Java-Programmen zu behandeln.