Groovy和forEach之间的区别是什么?

Groovy和forEach之间的区别是什么?,groovy,foreach,each,Groovy,Foreach,Each,我在谷歌上找不到一个简单答案的简单问题:Groovy的each和forEach循环之间有什么区别 我做了一个简单的示例,语法和行为似乎完全相同: [1, 2].each { println it } [1, 2].forEach { println it } 两种印刷品: 1 2 我在Groovy语言文档中看到的这两个方面的唯一例子似乎触及了lambdas和closures之间的区别,但我无法将其与我尝试过的例子联系起来 谢谢each()和forEach()之间的第一个区别是

我在谷歌上找不到一个简单答案的简单问题:Groovy的each和forEach循环之间有什么区别

我做了一个简单的示例,语法和行为似乎完全相同:

    [1, 2].each { println it }
    [1, 2].forEach { println it }
两种印刷品:

1
2
我在Groovy语言文档中看到的这两个方面的唯一例子似乎触及了lambdas和closures之间的区别,但我无法将其与我尝试过的例子联系起来


谢谢

each()和
forEach()
之间的第一个区别是
each()
是由Groovy的GDK提供的,而
forEach()
是由Java8提供的(因此它在以前的Java版本中不可用)


另一个区别是,
each()
接受Groovy闭包,而
forEach()
接受一个。从Groovy来看,这个区别并不明显,因为Groovy对消费者来说是透明的闭包。

我甚至没有想到它是Java闭包!谢谢,这很有意义。