什么';这个Groovy构造有什么问题?

什么';这个Groovy构造有什么问题?,groovy,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 怎么了?电话应该是: def files = FileUtils.

这是一个简短的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
怎么了?

电话应该是:

def files = FileUtils.listFiles(dir, [ "java" ] as String[], false)
Groovy默认使用列表,可以使用
as
操作符将这些列表强制为指定类型的数组(通常用于与java api交互,如本例所示)

[编辑]

另一方面,您可以使用纯Groovy这样做:

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

那么,您就不需要Commons文件了

谢谢,Tim,我会听从您的建议!