在Java中防止NullPointerException
我想不出在arrayPrint中如何防止NullPointerException的发生。test5的错误不断发生。我试图添加if语句:在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
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);
}
}
}