一个我在谷歌上找不到简单答案的简单问题:Groovy的each和forEach循环有什么不同?
我做了一个简单的例子,语法和行为看起来是一样的:
[1, 2].each { println it }
[1, 2].forEach { println it }两者都打印:
1
2我在Groovy语言文档中看到的关于这两者的唯一示例似乎涉及到lambdas和闭包之间的区别,但我不能将其与我尝试过的示例联系起来。
谢谢
发布于 2016-02-28 10:39:01
each()和forEach()之间的第一个区别是,each()是由Groovy提供的,而forEach()是由Java8提供的(因此它在以前的Java版本中不可用。
另一个区别是each()接受Groovy闭包,而forEach()接受Consumer。在Groovy中,这种差异并不明显,因为Groovy透明地将闭包coerces给消费者。
https://stackoverflow.com/questions/35677411
复制相似问题