为什么这段代码在Groovy中不可访问?

为什么这段代码在Groovy中不可访问?,groovy,unreachable-code,Groovy,Unreachable Code,我想返回一个带有多个目录列表的地图。但第一次给了我一个警告: def enlistFiles() { return [downloadFolder: downloadFolder.listFiles( new FileFilter() { @Override boolean accept(File file) { return !file.isDirectory()

我想返回一个带有多个目录列表的地图。但第一次给了我一个警告:

def enlistFiles() {

    return
        [downloadFolder: downloadFolder.listFiles( new FileFilter() {
            @Override
            boolean accept(File file) {
                return !file.isDirectory()
            }
        })]

}
“无法访问代码”


为什么?

第3行以下的任何内容都不会执行。return关键字后面不应该有换行符。 您的代码应该是:

def enlistFiles() {
    return [downloadFolder: downloadFolder.listFiles( new FileFilter() {
            @Override
            boolean accept(File file) {
                return !file.isDirectory()
            }
        })]

}

由于分号是可选的,因此
return
行的换行符被解释为语句的结尾。所以你有两种说法:一种是
return
,然后是一个无法到达的地图。真是太遗憾了,谢谢!)@梅利克斯:你应该把它作为一个答案贴出来!