searchCritera[] 有一个字符串列表 folderFiles[] 有一个字符串列表 使用 searchCriteria[] 我试图从其中的元素中查找folderFiles[]中的元素是否有任何匹配使用folderFiles[i].contains(searchCriteria[i].getName()),它驻留在if语句中嵌套 for 循环。 不过,常量空指针会抛出异常。 folderFiles 是文件夹内的文件列表。
for(int i = 0; i < searchCriteria.length; i++)
{
for(int x = 0; x < folderFiles.length; x++)
{
if(folderFiles[x].contains(searchCriteria[i]))
{
//...
}
}
}
很高兴解决了这个问题,但还有一个问题。
for(int i = 0; i < dirs.length; i++)
{
if(dirs[i] != "")
{
dirs2[count2] = dirs[i];
count2++;
}
}
File folder;
File[] folderFiles;
for(int i = 0; i < dirs2.length;i++)
{
folder = new File(dirs2[i]);
folderFiles = folder.listFiles();
for(int x = 0; x < folderFiles.length; x++)
{
System.out.println(folderFiles[x].getName());
}
}
它将把每个目录中的大部分文件打印到控制台,但抛出 java.lang.NullPointerException
100%这是第一个循环内的第二个循环导致它不是我试图打印到控制台只是将其注释掉以进行测试。
第一个 for 循环 i < dirs2.length 似乎覆盖了第二个内部循环目录,因为它试图处理它所拥有的信息,所以我很确定这就是导致问题的原因。不知道如何减慢第一个循环以等待第二个内部循环完成它正在做的事情,但这似乎是解决方案
最佳答案
我认为你交换了 x 和 i。
关于java - 嵌套 For 循环数组搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60824329/