В чем разница между 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 закрытие для потребителя.