以下代码中的空指针异常

时间:2012-11-15 20:30:41

标签: java

在下面的代码中,最后的sop没有打印

String A=null;

if (A.contains("xyz")) {
    System.out.println("loop1");
}
System.out.println(A);

4 个答案:

答案 0 :(得分:4)

A是null,您正在调用if (A.contains("xyz"))

null引用结果NullPointerException的任何调用,你没有在try / catch中包含上面的语句,所以异常传播到更高级别而不执行下面的代码。

将其更改为:

String A="";

答案 1 :(得分:4)

if (A.contains("xyz")) { 

由于A为null,您尝试在A上调用Contains。因此NPE

答案 2 :(得分:4)

由于A为null,因此代码将抛出一个NullPointerException(NPE),这是一个RuntimeException。

在对null执行任何调用时将抛出异常,在您的情况下包含方法调用。

A.contains("xyz")

答案 3 :(得分:0)

String A=null;中,您将字符串引用A设置为null。此时你有一个引用,但它还没有指向一个对象。然后尝试使用引用,就好像它通过调用.contains方法指向对象一样,这将导致NullPointerException,因为没有代码在引用所指向的位置执行。

相关问题