如何简化groovy循环代码

时间:2017-07-17 13:53:09

标签: java groovy java-8

我有一个凹槽代码(带有一些java样式元素)

dates.forEach new Consumer<Period>() {
    @Override
    void accept(Period period) {
        println period
    }
}

是否可以更简单?

我想要像

这样的东西
dates.forEach println

dates.forEach println date

2 个答案:

答案 0 :(得分:11)

只需使用

dates.each { println it }

答案 1 :(得分:2)

Groovy闭包可以填充请求单个方法接口的任何位置(与Java lambdas行为相同)。因此,您希望的代码已经非常接近实际工作:

groovy:000> [1,2,3].forEach{ println it }
1
2
3
===> null