In Java 9 wurde die Methode stream() zur Klasse Optional hinzugefügt, um deren Funktionalität zu verbessern. Die Methode stream() kann verwendet werden, um einen Stream optionaler Elemente in einen Stream mit vorhandenen Wertelementen zu konvertieren. Wenn Optional einen Wert enthält, wird ein Stream zurückgegeben, der diesen Wert enthält. Andernfalls wird ein leerer Stream zurückgegeben.
<strong>public Stream<T> stream()</strong>
import java.util.Arrays; import java.util.List; import java.util.Optional; import java.util.stream.Collectors; import java.util.stream.Stream; public class StreamMethodTest { public static void main(String[] args) { <strong> List<Optional<String>></strong> list = Arrays.asList( Optional.empty(), Optional.of("TutorialsPoint"), Optional.empty(), Optional.of("Tutorix")); <strong>// If optional is non-empty, get the value in stream, otherwise return empty</strong> <strong>List<String></strong> filteredListJava8 = list.stream() .<strong>flatMap</strong>(o -> o.isPresent() ? Stream.of(o.get()) : Stream.empty()) .<strong>collect</strong>(Collectors.toList()); <strong>// Optional::stream method can return a stream of either one or zero element if data is present or not.</strong> <strong>List<String></strong> filteredListJava9 = list.stream() .<strong>flatMap</strong>(<strong>Optional::stream</strong>) .<strong>collect</strong>(Collectors.toList()); System.out.println(filteredListJava8); System.out.println(filteredListJava9); } }
<strong>[TutorialsPoint, Tutorix] [TutorialsPoint, Tutorix]</strong>
Das obige ist der detaillierte Inhalt vonWozu dient die Methode Optional.stream() in Java 9?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!