黑马程序员技术交流社区
标题:
string str=""; string str=null; 请问这俩本质上有什么区别?
[打印本页]
作者:
天佑の清清
时间:
2014-6-26 15:49
标题:
string str=""; string str=null; 请问这俩本质上有什么区别?
本帖最后由 天佑の清清 于 2014-6-26 18:04 编辑
string str=""; string str=null;
请问这俩本质上有什么区别? 虽然明白这俩不同,但是还是有点不清楚这俩到时候根本上是什么区别?
作者:
向晓伟
时间:
2014-6-26 17:06
简单点的
string str="",表示一个空串,被实列化了,占用了内存空间
string str=null,表示一个空引用,没有占用了空间
有时候还有个string str。 这是一个定义,最好初始化成 string str = string.Empty
作者:
小郭zaiheima
时间:
2014-6-27 22:17
1 string str=null;
这句话的意思:定义了 引用变量str,不过 str 引用的字符串对象为空。
2 string str="";
这句话的意思:定义了 引用变量str,并且 str 引用的字符串对象存在,其内容为""
作者:
专属第三
时间:
2014-6-27 22:46
string str=null; 指向的地址为0x0000, (视频讲解为还没占内存,那么这个地址是代表什么呢?)
string str="", 是有地址的,说明已经创建了存储空间
二楼说的这个string str = string.Empty; 是不是也就是string str=null; 的比较正规的一种写法
作者:
别问我是谁
时间:
2014-6-28 09:29
前者在内存上预留空间了,只不过里面什么都没,后者没有预留,
作者:
yangjijin
时间:
2014-6-28 09:44
string str="",分配空间占用内存,里面没有东西
string str=null,表示一个空引用,没有占用了空间
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2