2016-02-28 15 views
10

Basit soru, googles için basit bir cevap bulamadık: Groovy'nin her ve forEach döngüler arasındaki fark nedir? Groovy her ve forEach arasındaki fark nedir?

Ben basit bir örnek yaptı ve sözdizimi ve davranış özdeş görünmektedir:

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

Hem baskı:

1 
2 

Ben Groovy Dil Dokümanlarından ikisinin bakınız tek örnek değinmek görünüyor Lambdalar ve kapanışlar arasındaki fark, ama bunu denediğim örneklerle ilişkilendiremiyorum. forEach() Java 8 (sağlanır iken

, sen

cevap

19

each() ve forEach() arasındaki ilk ayrım each() Groovy GDK tarafından sağlanan olmasıdır ederiz böylece Java önceki sürümlerinde kullanılamaz.

Başka fark forEach() bir Consumer kabul ederken each() bir Groovy kapatılmasını kabul olmasıdır. Groovy bakıldığında bu fark gözle görülür olmadığı için Groovy şeffaf coerces bir Tüketiciye kapatma.

+0

Bunun Java olduğunu düşünmemiştim bile! Teşekkürler, bu mantıklı. – orbfish