这个Groovy结构有什么问题?

17
这是一段简短的Groovy脚本:

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

It says:

No expression for the array constructor call at line: 2

有什么问题吗?

1个回答

39

调用应该是:

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。


谢谢,Tim,我会听从你的建议! - yegor256

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接