java - 嵌套 For 循环数组搜索

标签 java nullpointerexception nested-loops

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/

相关文章:

java - 使用变量初始化整数数组

尽管没有出现错误,Java SQL 更新语句并未在表中更新

Java 正则表达式匹配除单个表达式之外的任何内容

java - 是什么导致线程 "pool-1-thread-2"中出现异常(NullPointerException)

java - 在一个类中使用另一个类中的变量 NullpointerException - RunTimeException

python - 在 python 中并行化这些嵌套的 for 循环

java - 如何从java中的用户设置上限和下限中查找特定数字

java - 简单的正则表达式匹配

android - 无法实例化 Activity ComponentInfo{...} : java. lang.NullPointerException 和其他一些东西

Python - 从嵌套循环中只打印一次