黑马程序员技术交流社区

标题: string str = null 和 string str = “”有什么区别啊? [打印本页]

作者: 赵雅晴    时间: 2012-10-7 23:03
标题: string str = null 和 string str = “”有什么区别啊?
string str = null 和 string str = “”不都是存一直空值的字符串么 为什么有两种写法?
作者: 邓江红    时间: 2012-10-8 00:05
一个是什么都没有,一个是空字符串
string str=null 把这个引用指向了一个null,没有地址没有值的地方。
string str="" 把这个引用指向了一个地址,地址里面存的是空的字符。
作者: 管海鹏    时间: 2012-10-8 08:02
null表示什么都没有 ,不会为其分配存储空间;而“”则表示会分配一个“”字符串的指针
作者: 张文    时间: 2012-10-8 09:55
null是什么都没有。后面那个是一个空字符串
作者: 刘俊红    时间: 2012-10-8 10:05
string 是引用类型,引用类型的存储分为两部分
1) 引用
2) 实际数据

string str =  null;     <------>    只有第一部分:一个引用。            【引用为空】
string str = "";           <------>    不但有第一部分:一个引用;而且有第二部分:实际值就是 "" 。  【串值为空】

至于 "" 是什么,你可以这样理解:字符串 "" 就相当于温度  0℃ 。
0℃不表示没有温度,而表示温度的值为0  (小学老师总是拿这个考验我{:soso_e141:})

同理,所有的引用类型都是这样的,null表示没有实际数据。

如果引用类型(包括string)为null的话,没有实际数据的话,不能调用它的任何方法。



作者: yueguhua    时间: 2012-10-8 18:06
其实很好理解的 null你就理解为 不知道
而""就是个空字符串
后面还会有undifind (好像是这么写的 ) 是没有找到




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2