这个Groovy构造有什么问题?

时间:2011-02-22 12:41:10

标签: groovy

这是一个简短的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 个答案:

答案 0 :(得分:37)

电话应该是:

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

Groovy默认使用Lists,as运算符可用于将这些列表强制转换为指定类型的数组(通常用于与此示例中的java api交互)

<强> [编辑]

顺便说一下,你可以用纯Groovy这样做:

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

然后,您不需要Commons FileUtils