首页 > 解决方案 > 遍历数组时忽略空值

问题描述

我正在构建一种从我的数组中打印某些特定值的方法。问题是,该数组中的每个值都有多个由构造函数给出的值,因此该数组如下所示:

Constructor1[] tab1 = {new Constructor1 (var1: 1, var2: 3, var3: "Hi"),
                     null,
                     new Constructor1 (var1: 3, var2: 2, var3: "Ho"),
                     null}...

空值对应于我的构造函数的空实例,我不想删除它们。当我遍历我的数组时,我使用在另一个类中构建的 getter 来获取特定值。

for (int i = 0, i<= tab1.length, i++) {
    if (tab[i].getVar2() == 2){
    System.out.print(tab[i]);
    }
}

我可以正确打印这些值,直到我循环通过 null,这会停止我的程序。我的程序的目标是从数组中提取某些内容并将它们保存到一个文件中,但是由于 null ,我无法提取我想要的所有内容。出于这个项目的目的,我使用 FileReader、PrintReader 等...

标签: javaarraysconstructornull

解决方案


进行空检查

for (int i = 0, i<= tab1.length, i++) {
    if (tab[i]!=null &&tab[i].getVar2() == 2){
    System.out.print(tab[i]);
    }
}

推荐阅读