以下代码中的空指针异常



在下面的代码中,最后一个 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 ,并且您正在调用if (A.contains("xyz"))

null引用结果的任何调用NullPointerException,您没有将上述语句包装在try/catch中,因此异常会传播到更高级别,而无需在下面进一步执行代码。

将其更改为类似以下内容:

String A="";
if (A.contains("xyz")) { 

由于 A 为空,因此您正在尝试在 A 上调用包含。因此NPE

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

最新更新