Wie erstelle ich einen leeren Stream in Java?

Lesezeit: 2 Minuten

Benutzer-Avatar
sdgfsdh

In C# würde ich verwenden Enumerable.Empty()aber wie erstelle ich eine leere Stream auf Java?

  • StackOverflow ist Google-fähiger als die Dokumentation.

    – sdgfsdh

    28. Februar 2017 um 12:21 Uhr

  • Google braucht man gar nicht. Es gibt genau eine Adresse, die man einmal bookmarken muss, wenn man anfängt, Java-Software zu entwickeln, docs.oracle.com/javase/8/docs/api Dies ist die offizielle API-Dokumentation, die jedes Paket, jede Klasse und jedes Mitglied in einer Struktur enthält, die keine Suchmaschine erfordert, um sie zu finden.

    – Holger

    28. Februar 2017 um 12:57 Uhr


  • Wenn Sie bereits wissen, dass es existiert, dann ja. Aber Java ist voll von Bibliotheksmethoden, von denen Sie hoffen könnten, dass sie existieren, die sich aber als nicht erweisen (oder nicht dort, wo Sie dachten, oder mit dem Namen, den Sie dachten), und Sie könnten einen Großteil Ihres Lebens damit verbringen, nach ihnen zu suchen, wenn Sie immer die machen würden API-Dokument Ihre erste Anlaufstelle.

    – Andreas Spencer

    22. Februar 2018 um 10:16 Uhr

Benutzer-Avatar
Eugen

So einfach ist das: Stream.empty()

  • Verwenden Sie für einen bestimmten Streamtyp Stream.<T>empty()dh Stream.<String>empty()

    – Mugen

    1. März 2020 um 15:06 Uhr

  • @Mugen nein, solltest du nicht. Warum denkst du, dass?

    – Eugen

    1. März 2020 um 15:20 Uhr

  • Denn wenn Sie dies nicht tun, nimmt der Compiler an, dass der Typ ist Stream<? extends Object>und warum nicht?

    – Mugen

    1. März 2020 um 15:23 Uhr


  • @Mugen Sie müssen ein Beispiel geben oder eine Frage stellen, so sollte die Typinferenz nicht funktionieren.

    – Eugen

    1. März 2020 um 15:25 Uhr

  • Ich habe einen Tipp gegeben, wenn Sie denken, dass ich falsch liege, werde ich ihn löschen, da dies Ihre Antwort ist und ich nicht beabsichtige, eine neue Diskussion zu beginnen.

    – Mugen

    1. März 2020 um 15:28 Uhr

Benutzer-Avatar
prasad_

Stream<String> emptyStr = Stream.of();

emptyStr.count() gibt 0 (Null) zurück.

Zusätzlich:

  • Für einen primitiven Stream wie IntStream, IntStream.of() funktioniert ähnlich (auch die empty Methode). IntStream.of(new int[]{}) gibt auch einen leeren Stream zurück.
  • Das Arrays Die Klasse verfügt über Stream-Erstellungsmethoden, die ein Array von Primitiven oder einen Objekttyp akzeptieren. Dies kann verwendet werden, um einen leeren Stream zu erstellen; z.B,: System.out.println(Arrays.stream(new int[]{}).count()); druckt Null.
  • Jeder Stream, der aus einer Sammlung erstellt wurde (wie z List oder Set) mit null Elementen kann einen leeren Stream zurückgeben; zum Beispiel: new ArrayList<Integer>().stream() gibt einen leeren Stream des Typs zurück Integer.

  • Dies ist kürzer als die akzeptierte Antwort; man fragt sich warum Stream.empty() wurde erstellt.

    – sdgfsdh

    18. April 2018 um 12:29 Uhr


  • Im Gegensatz zu Stream.empty()es erstellt intern ein leeres Array, führt eine Nullprüfung durch usw. Sie können es in der Implementierung nachschlagen.

    – Marcin Majkowski

    26. April 2018 um 8:50 Uhr

1252040cookie-checkWie erstelle ich einen leeren Stream in Java?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy