黑马程序员技术交流社区

标题: "" 和 null 的区别,什么是空字符串? [打印本页]

作者: 孙汇川    时间: 2012-2-15 23:37
标题: "" 和 null 的区别,什么是空字符串?
如题:""  和 null 的区别,什么是空字符串?
作者: foxpeter    时间: 2012-2-15 23:57
null 表示的什么都没有 不会分配空间
而“” 表示已经 new 了一个 String 只不过这个String里没有东西 需要在堆中分配空间。
作者: 李杨    时间: 2012-2-15 23:58
""就是空字符串,虽然里面什么都没有,但是它是字符串.

null是空指针,就是让引用变量不指向任何地址.
作者: 李杨    时间: 2012-2-15 23:59
foxpeter 发表于 2012-2-15 23:57
null 表示的什么都没有 不会分配空间
而“” 表示已经 new 了一个 String 只不过这个String里没有东西 需要 ...

同学你说的这句

“” 表示已经 new 了一个 String 只不过这个String里没有东西 需要在堆中分配空间。

我不明白,能说细一点吗?

作者: 陈丹阳    时间: 2012-2-16 00:00
""代表长度为0的字符串常量。
null代表啥都没,不指向任何对象。

一个是空的面盆,一个连面盆都没有。 - - - - -



作者: 黄锦成    时间: 2012-2-16 08:53
""也是一个String类型的对象。只不过它没什么内容,但是因为还是一个对象,所以可以调用String类中的方法,也可以当做其他类的方法的字符串参数。null表示变量的引用为空,只在栈中定义了一个变量,但是没有实际的指向
作者: 马欢    时间: 2012-2-16 09:05
NULL 代表声明了一个空对象,根本就不是一个字符串。  ""代表声明了一个对象实例,这个对象实例的值是一个长度为 0 的空字符串。" " 代表声明了一个对象实例 NULL 代表声明了一个空对象 对空对象做任何操作都不行的 除了 =和== 代表声明了一个空对象,对空对象做任何操作都不行的 , ""是一个字符串了 只是这个字符串里面没有内容了
作者: 刘豪杰    时间: 2012-2-16 10:09
""是指虽然这个字符串长度为0,但是在堆内存中,还是会分配一个空间,用来存储这个字符串
null是指堆内存根本就不给这个字符串分配空间
比如:你想用碗盛饭
""是指你有一个碗,但是碗里没饭
而null是指你根本就没有碗
作者: 张开开    时间: 2012-2-17 10:40
""是空字符串,它仍然是个字符串,需要分配空间,有其内存地址,只是字符串特殊
而null则是空指针,压根就没有字符串,系统也不分配空间,没有指针指向
作者: 陈伟    时间: 2012-2-17 21:24
""表示一个空的String类型的常量,在堆内存中分配的有空间;
null表示一个空类型的引用,不指向任何对象。
作者: hxc2008q    时间: 2012-2-18 02:02
你在后面加一个点就看出区别了
作者: 黄奇耀    时间: 2012-2-18 07:30
""为字符串,在堆中分配了内存,但它指向的对象为空。
null只是声明了一个对象,但没有为它分配内存,它无对象可指向。
作者: 倪鹏博    时间: 2012-2-19 01:07
李杨 发表于 2012-2-15 23:59
同学你说的这句

“” 表示已经 new 了一个 String 只不过这个String里没有东西 需要在堆中分配空间。

这句话的意思相当于
        String  stringName=“”;
就是说 " " 的存在是由于已经新定义了一个字符串,对这个字符串是有对应的存储空间的,但是这个空间里面现在没放东西!就好比说你新买了一个储物盒,但是还没往里面放东西,可是这个盒子却是存在的!
作者: lvwenwen88    时间: 2012-2-20 09:28
但是这个空间里面现在没放东西!就好比说你新买了一个储物盒,但是还没往里面放东西,可是这个盒子却是存在的!
作者: 花开~的季节    时间: 2012-2-20 11:47
一个对象,一个是null对象为空。
作者: 李会启    时间: 2012-2-20 14:15
""表示这个字符串长度为0,但在内存中它会被分配一个空间,用来存储这个字符串
null是表示内存不对字符串分配空间
作者: 温昌寿    时间: 2012-2-20 22:07
null代码这是没东西的,在内容里面是根本不存在的
而"",是在内存中分配一个内容然后指向它,虽然""其实还是存在的只是 里面的东西是为空




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