对于java初学者来说,String 是必须要掌握的知识点。
今天要记录的是String 中比较模糊的几个判断,网上类似博客很多,但是纸上得来终觉浅,咱们上代码就知道了。
情景1:String a="";
运行结果:
情景2: String a=null;
代码:
注意:类在初始化时,会将类的引用类型成员变量的值初始化为null;
运行结果:
由上图可知:
引用变量的值为null,其没有length()方法,没有length()方法,则证明其所指向的地址中没有存储任何内容,也就是说值为null 的引用变量,并没有指向存有值得地址,地址都没有,哪来的什么值,没有值,但是想用值得某个方法,所以就报空指针异常了。
再来看一个效果:
代码:
运行结果:
说明最后一个方法也有问题,结合上例,因为a所指向的地址中没有存储任何内容,所以使用equals则会报空指针(NullPointerException)异常,因为String 中使用equals的前提条件是双方都有内容a.equals(b),所以String a=null;表示a中没有指向一个字符串所在内存的地址值,字符串也不存在。
结束。