Optionale Klasse in Java 8: So filtern Sie potenzielle Nullwerte mit der Methode filter()
In Java 8 ist die optionale Klasse ein sehr nützliches Tool, mit dem wir mögliche Nullwerte besser verarbeiten und das Auftreten einer NullPointerException vermeiden können . Die optionale Klasse bietet viele Methoden zum Bearbeiten potenzieller Nullwerte. Eine der wichtigen Methoden ist filter(). Die Funktion der
filter()-Methode besteht darin, dass, wenn der Wert des optionalen Objekts vorhanden ist und die angegebenen Bedingungen erfüllt, das optionale Objekt selbst zurückgegeben wird, wenn der Wert nicht existiert oder die Bedingungen nicht erfüllt sind; wird zurückgegeben.
Das folgende Codebeispiel zeigt, wie die filter()-Methode zum Filtern potenzieller Nullwerte verwendet wird:
import java.util.Optional; public class OptionalFilterExample { public static void main(String[] args) { String name = "John Doe"; Optional<String> nameOptional = Optional.ofNullable(name); // 使用filter()方法过滤值为空的Optional对象 Optional<String> filteredOptional = nameOptional.filter(n -> n.length() > 5); if (filteredOptional.isPresent()) { System.out.println("Name is longer than 5 characters"); } else { System.out.println("Name is either null or shorter than 5 characters"); } } }
Im obigen Beispiel erstellen wir zunächst ein optionales Nicht-Null-Objekt namensOptional mit dem Wert „John Doe“. Dann verwenden wir die Methode filter() und übergeben ihr die Bedingung n -> n.length() > 5
. Diese Bedingung prüft, ob die Länge der Zeichenfolge größer als 5 ist. Wenn die Bedingung erfüllt ist, gibt die Methode filter() ein optionales Objekt zurück, das denselben Wert enthält; andernfalls gibt sie ein leeres optionales Objekt zurück.
Abschließend überprüfen wir mit der Methode isPresent(), ob das gefilterte optionale Objekt einen Wert enthält, und geben basierend auf dem Ergebnis die entsprechenden Informationen aus.
In der tatsächlichen Entwicklung müssen wir häufig Werte herausfiltern, die möglicherweise leer sind. Mit der Methode filter() können wir diese Aufgabe präzise erledigen. Hier ist ein weiteres Beispiel, das zeigt, wie man Ganzzahlen größer als 10 aus einer Liste herausfiltert:
import java.util.ArrayList; import java.util.List; import java.util.Optional; public class OptionalFilterListExample { public static void main(String[] args) { List<Integer> numbers = new ArrayList<>(); numbers.add(5); numbers.add(15); numbers.add(8); numbers.add(20); List<Integer> filteredNumbers = new ArrayList<>(); for (Integer number : numbers) { Optional<Integer> optionalNumber = Optional.ofNullable(number); optionalNumber.filter(n -> n > 10).ifPresent(filteredNumbers::add); } System.out.println(filteredNumbers); } }
Im obigen Beispiel haben wir zunächst eine Liste mit Ganzzahlen und Zahlen erstellt, die einige Zahlen enthält. Anschließend verwenden wir eine for-each-Schleife, um jedes Element in der Liste zu durchlaufen und sie in optionale Objekte einzuschließen.
Als nächstes verwenden wir die Methode filter(), um Zahlen größer als 10 herauszufiltern, und verwenden die Methode ifPresent(), um die gefilterten Zahlen zur Liste filteredNumbers hinzuzufügen.
Abschließend geben wir die filteredNumbers-Liste aus, die alle gefilterten Zahlen enthält.
Durch die Verwendung der filter()-Methode der optionalen Klasse können wir mögliche Nullwerte präziser filtern und so umständliche Nullprüfungen und Situationen vermeiden, die eine NullPointerException verursachen können. Dadurch wird unser Code robuster und lesbarer. Es wird empfohlen, die verschiedenen Methoden der optionalen Klasse in der Entwicklung vollständig zu nutzen, um die Codequalität und die Entwicklungseffizienz zu verbessern.
Das obige ist der detaillierte Inhalt vonOptionale Klasse in Java 8: So filtern Sie mögliche Nullwerte mit der Methode filter(). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!