如何在Java中创建空流?

sdg*_*sdh 48 java enumerable java-stream

在C#中我会使用Enumerable.Empty(),但是如何Stream在Java中创建一个空?

Eug*_*ene 93

就这么简单: Stream.empty()

  • 对于特定类型的流,使用`Stream.<T>empty()`,即`Stream.<String>empty()` (13认同)

pra*_*ad_ 7

Stream<String> emptyStr = Stream.of();
Run Code Online (Sandbox Code Playgroud)

emptyStr.count() 返回0(零)。


此外:

  • 对于类似的原始流IntStream,其IntStream.of()工作方式也类似(该empty方法也是如此)。IntStream.of(new int[]{})还返回一个空流。
  • 所述Arrays类具有接受原语的阵列或一个对象类型的流创建方法。这可以用来创建一个空流。例如:System.out.println(Arrays.stream(new int[]{}).count());打印零。
  • 从集合中创建的任何流(如a ListSet)具有零个元素,都可以返回空流;例如:new ArrayList<Integer>().stream()返回类型为空的流Integer

  • 与Stream.empty()相反,它在内部创建一个空数组,对其执行空检查等。您可以在实现中查找它。 (6认同)