在下面的代码最后SOP不印制在空指针异常
String A=null;
if (A.contains("xyz")) {
System.out.println("loop1");
}
System.out.println(A);
在下面的代码最后SOP不印制在空指针异常
String A=null;
if (A.contains("xyz")) {
System.out.println("loop1");
}
System.out.println(A);
由于A为空上面的代码会抛出一个NullPointerException (NPE),这是一个RuntimeException。
当对null执行任何调用时,将抛出异常,在您的情况下包含方法调用。
A.contains("xyz")
A是null
,而你在null
参考结果NullPointerException
调用if (A.contains("xyz"))
任何调用,你不在try/catch中包含上面的语句,所以异常传播到更高级别而不执行下面的代码。
改变它的东西,如:
String A="";
if (A.contains("xyz")) {
由于A为空,你试图调用包含在A.因此NPE
实际上,它可能发生在'if(A.contains(“xyz”))' –
@TedHopp啊,我想我很着急..我编辑它虽然 – PermGenError
@RohitJain是啊马恩..我想,我很着急。 – PermGenError
在String A=null;
您正在设置字符串引用A为空。在这一点上你有一个参考,但它并没有指向一个对象。然后,您尝试通过调用.contains
方法来使用该引用,就像它指向一个对象一样,这将导致NullPointerException,因为在该引用指向的位置没有要执行的代码。
请参阅我对@ Nambari关于您上次声明的回答的评论。 –
感谢Rohit的纠正。 –
@All:其实上面代码片段是for循环,有一次它有空值,剩下的时间它有值,所以如何解决这个问题,以避免空一个被其他人接受? – b22