您的位置:首页 > 其它

浅谈 "" 和 null 区别?

2018-03-27 15:15 155 查看
null 和 " "区别 :分配内存空间地址的问题。
1、分析" "空字符串,分配了内存;
                null 没有实际值,你并不知道它是什么!!!没有分配内存;
              它既不是对象也不是一种类型,可以将它赋予任何引用类型(是引用数据类型,而不是基本数据类型)
2、总结你说没有和数字0是不是一个概念?道理大同小异。
String s=" "; 声明了一个对象的实例,其值是一个长度为0的空字符串。

                      即,s指向一个长度为0的字符串,里面无任何内容,分配了内存地址。

String s=null; 只是定义了一个句柄,也就是说你有了个引用,但这个引用未指向任何内存空间。
3、扩展:String s="a"和String s=new String("a");    是有本质上的区别?
                前者是在字符串池里写入一个字符'a',然后用s指向它;

                后者是在堆上创建一个内容为"a"的字符串对象。
4、若对你有所帮助请点个赞。
                    
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: