【问题标题】:Improving Groovy list iteration with collect closure使用 collect 闭包改进 Groovy 列表迭代
【发布时间】:2015-12-22 10:42:13
【问题描述】:

我有一个正常运行的 Groovy 2.4.3 方法,我想我可以通过使用 collect() 闭包来实现 groovier,但不确定如何:

List<Buzz> deriveBuzzesFromFizz(Fizz fizz) {
    List<Buzz> buzzes = []
    fizz.foobars?.each {
        if(it.label.equals('whistlefeather')) {
            buzzes << it
        }
    }

    buzzes
}

可能是这样的:

List<Buzz> buzz = fizz.foobars?.collect {
    it.label.equals('whistlefeather')
}

...或者附近?!

【问题讨论】:

    标签: groovy closures


    【解决方案1】:

    你正在考虑 findAll

    fizz.foobars?.findAll {
        it.label == 'whistlefeather'
    }
    

    【讨论】:

    • 谢谢@tim_yates (+1) - 那么findAllcollect 之间有什么区别(或者更确切地说,它们在哪里记录 - 我找不到任何官方的 Groovy 文档!? !)?再次感谢!
    • @smeeb,可以看groovy Collection的javadoc:docs.groovy-lang.org/latest/html/groovy-jdk/java/util/…
    猜你喜欢
    • 1970-01-01
    • 2013-11-06
    • 2015-03-23
    • 2013-02-26
    • 2012-03-20
    • 2017-12-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多