Heim  >  Artikel  >  Java  >  Wozu dient die Methode Optional.stream() in Java 9?

Wozu dient die Methode Optional.stream() in Java 9?

WBOY
WBOYnach vorne
2023-09-08 12:33:02656Durchsuche

Java 9中的Optional.stream()方法有什么用途?

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.

Syntax

<strong>public Stream<T> stream()</strong>

Beispiel

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);
   }
}

Ausgabe

<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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen