为什么我的循环在打印值时有效,但在将它们添加到列表时却没有?

时间:2016-04-21 03:01:48

标签: java list

List<String> fileNames; 
   void fileList(final File folder) {
        for (final File fileEntry : folder.listFiles()){
                if(fileEntry.isDirectory()){
                    fileList(fileEntry);
                }
                else {
                    System.out.println(fileEntry.getName());
                    //fileNames.add(fileEntry.getName());
                }            
            }
        }
    }

在这个循环中,我试图读取目录“folder”中的每个文件,并将其添加到字符串列表中供以后使用。这些fileNames稍后将被放入另一个方法,所以我需要它以字符串格式,但由于某种原因(很可能是我不经意的入门级编码技能)我无法得到循环将它们添加到列表而不会得到n异常。感谢您的时间。

1 个答案:

答案 0 :(得分:0)

因为fileNamesnull(您从未初始化它)。变化

List<String> fileNames; 

List<String> fileNames = new ArrayList<>();