В чем разница между Groovy each и forEach?
простой вопрос, на который я не смог найти простой ответ на googles: в чем разница между циклами Groovy и forEach?
Я сделал простой пример и синтаксис и поведение кажутся идентичными:
[1, 2].each { println it }
[1, 2].forEach { println it }
как в печатном, так:
1
2
единственный пример, который я вижу в документации Groovy Language, похоже, затрагивает разницу между лямбдами и закрытиями, но я не могу связать это с примерами, которые у меня есть пытался.
спасибо
1 ответов
первое различие между each() и forEach() это each() предоставляется GDK Groovy, в то время как forEach() предоставляется Java 8 (поэтому он недоступен в предыдущих версиях Java.
другое отличие в том, что each() принимает на Groovy закрытия, а forEach() принимает потребитель. От Groovy эта разница не заметна, потому что Groovy прозрачно coerces закрытие для потребителя.