Groovy和forEach之间的区别是什么?
我在谷歌上找不到一个简单答案的简单问题:Groovy的each和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()之间的第一个区别是
[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闭包!谢谢,这很有意义。