在Java中防止NullPointerException

在Java中防止NullPointerException,java,arrays,nullpointerexception,Java,Arrays,Nullpointerexception,我想不出在arrayPrint中如何防止NullPointerException的发生。test5的错误不断发生。我试图添加if语句: public void arrayPrint() { for(String i : array) { System.out.println(i); } } 但它不断地给出错误: public void arrayPrint() { for(String i : array) { if

我想不出在arrayPrint中如何防止NullPointerException的发生。test5的错误不断发生。我试图添加if语句:

public void arrayPrint() {
    for(String i : array) {
        System.out.println(i);
    }           
}
但它不断地给出错误:

public void arrayPrint() {
    for(String i : array) {
        if(i != null){
           System.out.println(i);
      }
   }           
}
第11行是arrayPrint()中的for循环,第38行是test5.arrayPrint(); 谢谢

编译器将(String i:array){的
行翻译为:

Exception in thread "main" java.lang.NullPointerException
at Task.printArray(Task.java:11)
at Task.main(Task.java:38)
for(int j=0;j
array
为空时,它在
array.length
上失败

有关更多信息,请参见(String i:array){
行被编译器转换为类似以下内容:

Exception in thread "main" java.lang.NullPointerException
at Task.printArray(Task.java:11)
at Task.main(Task.java:38)
for(int j=0;j
array
为空时,它在
array.length
上失败


有关详细信息,请参见问题在于
字符串
i
已经是
数组
对象的成员。您需要做的是检查
数组
对象本身是否为
null

for(int j = 0; j < array.length; j++) {
    String i = array[j];
    ...
为了解决此问题,您需要验证
数组
本身是否为
null

for(int j = 0; j < array.length; j++) {
    String i = array[j];
    ...

问题是
字符串
i
已经是
数组
对象的成员。您需要做的是检查
数组
对象本身是否为
null

for(int j = 0; j < array.length; j++) {
    String i = array[j];
    ...
为了解决此问题,您需要验证
数组
本身是否为
null

for(int j = 0; j < array.length; j++) {
    String i = array[j];
    ...

如果你不想让它爆炸,你必须这样做:

public void arrayPrint() {
    if(array != null){
        for(String i : array) {
           System.out.println(i);
       }
   }           
}

如果你不想让它爆炸,你必须这样做:

public void arrayPrint() {
    if(array != null){
        for(String i : array) {
           System.out.println(i);
       }
   }           
}