Я бы постарался избежать создания коллекции полностью. Используя замыкания, вы можете отделить логику для выбора файлов от того, что вы на самом деле хотите с ними делать, например:
import groovy.io.FileType
def withEachTestFile(Closure closure) {
new File("src/test/java").eachFileRecurse(FileType.FILES) {
if (it.name =~ /Test\.java$/) {
closure.call(it)
}
}
}
Тогда, если вы хотите что-то сделать с тестовыми файлами, вы можете сделать это напрямую, не создавая список в памяти:
withEachTestFile() { println it }
или, если вам действительно нужен список, вы можете легко сгенерировать его, используя любую коллекцию, имеющую смысл:
def files = []
withEachTestFile() { files << it }