Umgang mit mehreren Null-Elementen
Im vorherigen Schritt haben wir erfolgreich eine Liste durchlaufen und die Indizes der null
-Elemente identifiziert. Jetzt erweitern wir dies und zeigen, wie Sie diese null
-Elemente behandeln können. "Behandeln" kann je nach Logik Ihres Programms unterschiedliche Dinge bedeuten, wie z. B. das Überspringen des null
-Elements, das Ersetzen durch einen Standardwert oder das Ausführen einer bestimmten Aktion.
In diesem Schritt werden wir unser NullCheckList.java
-Programm erneut ändern. Diesmal werden wir die Liste durchlaufen und für nicht-null-Elemente im Vergleich zu null-Elementen eine andere Nachricht ausgeben.
Öffnen Sie die Datei NullCheckList.java
im WebIDE-Editor. Ersetzen Sie die vorhandene main
-Methode durch den folgenden Code:
import java.util.List;
import java.util.ArrayList;
public class NullCheckList {
public static void main(String[] args) {
// Create a List and add some elements, including null
List<String> names = new ArrayList<>();
names.add("Alice");
names.add(null); // Adding a null element
names.add("Bob");
names.add("Charlie");
names.add(null); // Adding another null element
names.add("David");
System.out.println("Processing list elements:");
// Loop through the list using a for-each loop
for (String name : names) {
// Check if the element is null
if (name == null) {
System.out.println("Found a null element, skipping.");
} else {
// If the element is not null, process it
System.out.println("Processing name: " + name);
}
}
}
}
Schauen wir uns die Änderungen in dieser Version an:
- Wir haben ein weiteres nicht-null-Element (
"David"
) zur Liste hinzugefügt.
for (String name : names)
: Dies ist eine erweiterte for
-Schleife (auch als for-each-Schleife bekannt). Sie ist eine bequeme Möglichkeit, über die Elemente einer Sammlung zu iterieren, ohne einen Index zu verwenden. In jeder Iteration wird die Variable name
das aktuelle Element aus der names
-Liste enthalten.
if (name == null)
: Wir verwenden immer noch den ==
-Operator, um zu prüfen, ob das aktuelle Element (name
) null
ist.
System.out.println("Found a null element, skipping.");
: Wenn das Element null
ist, geben wir eine Nachricht aus, die angibt, dass wir es überspringen. In einer echten Anwendung könnten Sie hier eine andere Aktion ausführen, wie z. B. das Protokollieren des Null-Werts oder das Zuweisen eines Standardwerts.
else { System.out.println("Processing name: " + name); }
: Wenn das Element nicht null
ist, gelangen wir in den else
-Block und geben eine Nachricht aus, die angibt, dass wir den nicht-null-Namen verarbeiten.
Speichern Sie die Datei (Strg+S oder Cmd+S).
Jetzt kompilieren und führen Sie das geänderte Programm aus der Konsole im Verzeichnis ~/project
aus:
javac NullCheckList.java
java NullCheckList
Sie sollten eine Ausgabe sehen, die die nicht-null-Namen verarbeitet und anzeigt, wenn ein null-Element gefunden wird.
Processing list elements:
Processing name: Alice
Found a null element, skipping.
Processing name: Bob
Processing name: Charlie
Found a null element, skipping.
Processing name: David
Dieses Beispiel zeigt eine grundlegende Möglichkeit, null
-Elemente während der Iteration zu behandeln. Je nach Ihren spezifischen Anforderungen können Sie null
durch einen Standardstring ersetzen, die null
-Elemente aus der Liste entfernen oder andere Operationen ausführen. Der Schlüssel besteht darin, auf null
zu prüfen, bevor Sie versuchen, das Element zu verwenden, da das Aufrufen von Methoden auf einem null
-Objekt zu einer NullPointerException
führt.