Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java8foreach循环是类似ListIterator的方法还是类似while和do循环的方法?_Java_Loops_Foreach_Iterator - Fatal编程技术网

Java8foreach循环是类似ListIterator的方法还是类似while和do循环的方法?

Java8foreach循环是类似ListIterator的方法还是类似while和do循环的方法?,java,loops,foreach,iterator,Java,Loops,Foreach,Iterator,我在阅读Java8中介绍的主题时遇到了forEach。它被描述为一个循环。 它以lambda表达式的形式接受参数,这与采用布尔表达式的任何其他java循环不同。forEach是一种方法还是一种循环?它是一种在场景下通过消费者提供信息的方法 从技术上讲,它在整个流中进行迭代,但流并不是真正可迭代的——给定一个无限的流,没有办法证明迭代已经完成或将要完成。它是一种在场景下通过消费者提供信息的方法 从技术上讲,它会在整个流中进行迭代,但流并不是真正可迭代的——给定一个无限流,无法证明迭代已经完成或将要

我在阅读Java8中介绍的主题时遇到了forEach。它被描述为一个循环。
它以lambda表达式的形式接受参数,这与采用布尔表达式的任何其他java循环不同。forEach是一种方法还是一种循环?

它是一种在场景下通过
消费者提供信息的方法


从技术上讲,它在整个流中进行迭代,但流并不是真正可迭代的——给定一个无限的流,没有办法证明迭代已经完成或将要完成。

它是一种在场景下通过
消费者提供信息的方法


从技术上讲,它会在整个流中进行迭代,但流并不是真正可迭代的——给定一个无限流,无法证明迭代已经完成或将要完成。

只需比较使用不同构造所需的语法即可


调用一个方法,然后传递一个参数。因此,forEach()是一个方法调用,而不是一个内置的语言构造

只需比较使用不同结构所需的语法即可


调用一个方法,然后传递一个参数。因此,forEach()是一个方法调用,而不是一个内置的语言构造

“它是一个方法还是一个循环?”forEach是一个方法还是一个循环?它是一个方法。每当你看到someObject.something(),something就是一个方法。我注意到你的问题仍然是“开放的”:你没有接受答案。请看一看,然后决定是否要回答。或者让我知道是否有什么我可以做的,以加强我的投入,使其值得接受。接受帮助未来的读者确定问题是否得到解决,并对花时间回答你的人表示感谢。“这是一种方法还是一个循环?”forEach是一种方法还是一个循环?这是一种方法。每当你看到someObject.something(),something就是一个方法。我注意到你的问题仍然是“开放的”:你没有接受答案。请看一看,然后决定是否要回答。或者让我知道是否有什么我可以做的,以加强我的投入,使其值得接受。接受帮助未来的读者确定问题是否得到解决,并对花时间回答你的人表示感谢。谢谢。但是为什么他们称它为循环而不是迭代器呢?我总是认为循环是语言的一部分,比如while和do while。@kaka-之所以称之为循环,是因为在内部它的行为类似于循环,在遇到流的每个元素时重复调用提供的lambda。迭代器本身不做任何循环;它是一种被动状态(捕获迭代对象中的当前位置),而不是控制结构。将
forEach
方法调用为迭代器将严重扭曲它的功能。谢谢。但是为什么他们称它为循环而不是迭代器呢?我总是认为循环是语言的一部分,比如while和do while。@kaka-之所以称之为循环,是因为在内部它的行为类似于循环,在遇到流的每个元素时重复调用提供的lambda。迭代器本身不做任何循环;它是一种被动状态(捕获迭代对象中的当前位置),而不是控制结构。将
forEach
方法调用为迭代器将严重扭曲它的功能。