Что не так с этой конструкцией Groovy? - PullRequest
16 голосов
/ 22 февраля 2011

Это короткий Groovy-скрипт:

import org.apache.commons.io.FileUtils;
def dir = new File("/mydir")
def files = FileUtils.listFiles(dir, new String[] { "java" }, false)

Там написано:

No expression for the array constructor call at line: 2

Что не так?

1 Ответ

38 голосов
/ 22 февраля 2011

Вызов должен быть:

def files = FileUtils.listFiles(dir, [ "java" ] as String[], false)

Groovy по умолчанию использует списки, а оператор as может использоваться для преобразования этих списков в массивы указанного типа (часто для взаимодействия с Java-API).как в этом примере)

[править]

Кроме того, вы можете сделать это с помощью чистого Groovy следующим образом:

def files = dir.listFiles().findAll { it.name ==~ /.*\.java/ }

ТогдаВам не нужно Commons FileUtils

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...