Подтвердить что ты не робот

В чем разница между Groovy each и forEach?

Простой вопрос о том, что я не смог найти простой ответ на googles: в чем разница между Groovy each и forEach loop?

Я сделал простой пример, и синтаксис и поведение кажутся одинаковыми:

    [1, 2].each { println it }
    [1, 2].forEach { println it }

Обе печати:

1
2

Единственный пример, который я вижу как в Groovy Language Documentation, похоже, затрагивает разницу между лямбдами и замыканиями, но я не могу связать это с примерами, которые я пробовал.

Спасибо

4b9b3361

Ответ 1

Первое различие между each() и forEach() заключается в том, что each() предоставляется Groovy GDK, а forEach() предоставляется Java 8 (поэтому он недоступен в предыдущих версиях Java.

Другое отличие состоит в том, что each() принимает закрытие Groovy, а forEach() принимает Consumer. Из Groovy эта разница не заметна, потому что Groovy прозрачно принуждает закрытие для Потребителя.