在下面的代码中,最后的sop没有打印
String A=null;
if (A.contains("xyz")) {
System.out.println("loop1");
}
System.out.println(A);
答案 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,因为没有代码在引用所指向的位置执行。