0

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

String A=null;

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

4 回答 4

4

A 是null,你正在打电话if (A.contains("xyz"))

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

将其更改为:

String A="";
于 2012-11-15T20:31:19.397 回答
4
if (A.contains("xyz")) { 

由于 A 为空,您正试图在 A 上调用 Contains。因此 NPE

于 2012-11-15T20:31:21.777 回答
4

由于 A 为 null 上面的代码将抛出一个NullPointerException (NPE),它是一个 RuntimeException。

当对 null 执行任何调用时,将引发异常,在您的情况下是 contains 方法调用。

A.contains("xyz")
于 2012-11-15T20:31:27.853 回答
0

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

于 2012-11-15T20:37:30.140 回答