Java语言中null与" "的区别

null是空对象,没有地址,可以赋值给任何对象;""是空字符串,有地址但是里面的内容是空的,只能赋值给字符串对象。
如:
String s;//分配了一个内存空间,没存入任何对象  
String s1=null;//定义了一个对象实例s1,但未将该实例指向任何内存空间
String s2="";//定义了一个对象实例s2,指向了一个空串,分配了一个内存空间,存了一个字符串对象
s1不能直接进行使用,不能调用String类的方法,否则会报空指针异常,例如:s1.equals("aa")肯定会报错的,如果我们不知道某一个字符串是否是null,而又要使用它,请先进行非空判断!

其中s第一个是没有初始化的引用;s1为空引用;s2是在字符串池里写入一个空串"",然后用s2指向它。
 
posted @ 2019-09-10 18:27  冰湖一角  阅读(289)  评论(0编辑  收藏  举报