浅谈 "" 和 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、若对你有所帮助请点个赞。
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、若对你有所帮助请点个赞。
相关文章推荐
- String.Empty,NULL和""的区别
- java中null与""的区别
- Asp.Net中String.Empty、null和""的区别
- string.Empty&&"" && null 这者的区别
- java中的null和""区别------&&与&的区别
- C#中NULL,"",DBNULL,String.Empty,Convert.IsDBNull()的区别
- 字符串中存储""和null区别
- C#中string.Empty、""和null 之间的区别 .
- Asp.Net中String.Empty、null和""的区别
- 项目____JavaScript做null、""、undefined判断及==、===的区别
- String.Empty,NULL和""的区别
- VB中0、""(空字串)、Null、Empty、与 Nothing 的区别
- java中null和""的区别
- null,""以及" "的区别
- string.empty,""以及null的区别
- String.Empty,NULL和""的区别
- java中null与""的区别
- C# 中 string.Empty、""、null的区别
- String.Empty,NULL和""的区别
- 关于str="" 和 str=null;的区别