当前位置: 首页 > 知识库问答 >
问题:

Foreach循环[duplicate]时发生静态工厂IntStream异常

谢洛城
2023-03-14

有谁能帮我一下为什么这个案子是例外的吗?

IntStream i = IntStream.of(6,5,7,1, 2, 3, 3);
    IntStream d = i.map(n -> n+1 );
    d.forEach(System.out::print);
    System.out.println();
    System.out.println("Origional Streams" );
    i.forEach(System.out::print);
7682344
Origional Streams
Exception in thread "main" java.lang.IllegalStateException: stream has already been operated upon or closed
at java.util.stream.AbstractPipeline.sourceStageSpliterator(AbstractPipeline.java:279)
at java.util.stream.IntPipeline$Head.forEach(IntPipeline.java:557)

共有1个答案

欧阳嘉年
2023-03-14

看那个

d = i.map(n -> n + 1);

意味着流d正在接受流i的引用,现在forEach是一个终端操作,消耗i的流,也影响d上的引用。

 类似资料:
  • 我有一个用于列表的for循环,它检查数据库中是否存在索引值。

  • foreach循环遍历列表值并将控制变量(var)依次设置为列表的每个元素 - 语法 (Syntax) Perl编程语言中foreach循环的语法是 - foreach var (list) { ... } 流程图 (Flow Diagram) 例子 (Example) #!/usr/local/bin/perl @list = (2, 20, 30, 40, 50); # foreach lo

  • 除了前面介绍的几种循环语句外,C# 同样也支持 foreach 循环,使用 foreach 可以遍历数组或者集合对象中的每一个元素,其语法格式如下: foreach(数据类型 变量名 in 数组或集合对象){     语句块; } foreach 会在每次循环的过程中,依次从数组或集合对象中取出一个新的元素放到 里定义的变量中,直到所有元素都成功取出后退出循环。 【示例】使用 foreach 循环

  • 本文向大家介绍C# Foreach循环,包括了C# Foreach循环的使用技巧和注意事项,需要的朋友参考一下 示例 foreach将迭代实现的类的任何对象IEnumerable(请注意IEnumerable<T>从其继承的对象)。此类对象包括一些内置对象,但不限于:List<T>,T[](任何类型的数组),Dictionary<TKey, TSource>以及诸如IQueryable和IColl

  • Perl 循环 Perl foreach 循环用于迭代一个列表或集合变量的值。 语法 语法格式如下所示: foreach var (list) { ... } 流程图 Perl 循环

  • 我有一个用户表和一个高尔夫比赛分数表。当用户参加比赛时,他使用表格在结果表中记录分数。我想显示一个结果表,显示用户的完整列表和比赛的分数。表中有八列分数——每门课一列。我正在努力使用php代码来显示结果分数。如果一名球员已经比赛,他的得分将正确显示,但如果表中的下一名球员没有比赛,则他的得分将显示为表中高于他的球员的得分。这将在列表中继续下去,直到获得真正的分数。我试图找到答案,但没有成功。这是我