当前位置: 首页 > 知识库问答 >
问题:

避免数组中的空索引

罗绪
2023-03-14

我正在尝试根据我的边2[]数组中的对象编写一个新文档。现在不幸的是,这个数组中的一些索引为空,当它击中其中一个时,它只是给了我一个NullPointerExc的。这个数组有10个索引,但在这种情况下并不需要所有的索引。我已经尝试了try的捕捉语句,希望在它遇到空值后继续,但它仍然停止执行,并且不写新文档。作为对象一部分的堆栈(sire)包含我想打印出来的数据。

这是我的代码:

    // Write to the file
    for(int y=0; y<=side2.length; y++)
    { 
        String g = side2[y].toString();

        if(side2[y]!=null){
            while(!side2[y].sRail.isEmpty())
            {
                out.write(side2[y].sRail.pop().toString());
                out.newLine();
                out.newLine();
            }
            out.write(g);
        }
    }

    //Close the output stream/file
    out.close();
}
catch (Exception e) {System.err.println("Error: " + e.getMessage());}

共有1个答案

武友樵
2023-03-14

问题是代码在检查null对象之前在侧2[y]对象上调用toString()。您可以通过在循环顶部添加一个条件来跳过null对象,如下所示:

for(int y=0; y<=side2.length; y++) {
    if(side2[y] == null) {
        continue;
    }
    String g = side2[y].toString();
    // No further checks for null are necessary on side2[y]
    while(!side2[y].sRail.isEmpty()) {
        out.write(side2[y].sRail.pop().toString());
        out.newLine();
        out.newLine();
    }
    out.write(g);
}
 类似资料:
  • 但是,如果camp.start_date为NULL或没有行,那么它将引发异常- ORA-01858:在需要数字的地方发现了一个非数字字符 camp.start_date实际上是一个VARCHAR2,我需要将它转换为日期(是的,我知道它可能应该是一个日期字段,但我没有更改它的选项)。 其中camp.start_date不为null并且to_date(camp.start_date,'mm/dd/yy

  • 我想知道是否有可能在Java中“避免”空检查,以下面的代码为例: 它必须检查4次,否则代码将失败。 是否可以将语句转换为只有在没有NullPointerException时才执行的一行式语句?当出现异常时,该行应该被忽略。 这里我不是在谈论一个通用的语言特性,我是在谈论一个只有当您明确决定这样做时才会上交的特性。 例如:将是建议代码的一个片段。 在Java可能发生这样的事情吗? 如果不可能的话,在

  • 将编译为以下内容而不使用装箱: 因此,编译器确实特别对待,但不是在泛型类上下文中。

  • 我知道如何为数字数据类型执行此操作,但请告诉我的字符串数组。 假设在java中有一个由10个元素组成的字符串数组。一些元素包含单词,但其他元素不包含任何内容。 如何运行只打印非空元素的for循环?

  • 本文向大家介绍Java接口中尽量避免使用数组,包括了Java接口中尽量避免使用数组的使用技巧和注意事项,需要的朋友参考一下  如果你发现在一个接口使用有如下定义方法:   那么你应该认真反思。数组不仅仅老式,而且我们有合理的理由避免暴露它们。在这篇文章中,我将试图总结在Java API中使用数组的缺陷。首先从最出人意料的一个例子开始。 数组导致性能不佳 你可能认为使用数组是最快速的,因为数组是大多

  • 本文向大家介绍Java中避免空指针异常的方法,包括了Java中避免空指针异常的方法的使用技巧和注意事项,需要的朋友参考一下 没人会喜欢空指针异常!有什么方法可以避免它们吗?或许吧。。 本文将讨论到以下几种技术 1.Optional类型(Java 8中新引入的) 2.Objects类(Java 7中原有的) Java 8中的Optional类 它是什么? 1.Java 8中新引入的类型 2.它是作为