奇怪的java.lang.NullPointerException
我试着编写一个函数,返回某个目录中的所有txt文件,主要是:奇怪的java.lang.NullPointerException,java,nullpointerexception,Java,Nullpointerexception,我试着编写一个函数,返回某个目录中的所有txt文件,主要是: File file = new File(dir); listFiles(file.listFiles()); 其功能是: private static void listFiles(File[] files) { if (null == files) return; for (File file : files) { if (!file.isDirec
File file = new File(dir);
listFiles(file.listFiles());
其功能是:
private static void listFiles(File[] files) {
if (null == files)
return;
for (File file : files) {
if (!file.isDirectory()) {
if (file.getName().endsWith("txt") && file != null) {
queue.add(file);
fileCounter++;
}
} else {
listFiles(file.listFiles());
}
}
}
每次它在“`queue.add(file);”中抛出“java.lang.NullPointerException”
问题出在哪里?这意味着
队列
为空-可能您没有初始化它。您必须先实例化队列(队列=新建…
),然后才能实际添加任何内容。可能您没有定义队列
?它只是null
。开始吧<代码>列表队列=新建ArrayList()例如,它其实一点也不奇怪。您可能没有初始化队列
,因为您没有发布任何此类代码。顺便说一句,这正是异常告诉你的。在假设你自己无法解决异常之前,你应该仔细阅读异常。不要写if(null==files)
,写if(files==null)