A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 孙汇川 黑马帝   /  2012-2-15 23:37  /  4523 人查看  /  16 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

如题:""  和 null 的区别,什么是空字符串?

评分

参与人数 1技术分 +1 收起 理由
技术测试刘老师 + 1 虽然问题很基础,问的还是不错的.

查看全部评分

16 个回复

倒序浏览
null 表示的什么都没有 不会分配空间
而“” 表示已经 new 了一个 String 只不过这个String里没有东西 需要在堆中分配空间。

评分

参与人数 1技术分 +1 收起 理由
技术测试刘老师 + 1 鼓励分 回答的不够完整哦

查看全部评分

回复 使用道具 举报
""就是空字符串,虽然里面什么都没有,但是它是字符串.

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

同学你说的这句

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

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

评分

参与人数 1技术分 +1 收起 理由
技术测试刘老师 + 1 再加一分,不明白的就问!

查看全部评分

回复 使用道具 举报
""代表长度为0的字符串常量。
null代表啥都没,不指向任何对象。

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


评分

参与人数 1技术分 +1 收起 理由
技术测试刘老师 + 1 面盆理论,一看就学习老毕的视频了..

查看全部评分

回复 使用道具 举报
""也是一个String类型的对象。只不过它没什么内容,但是因为还是一个对象,所以可以调用String类中的方法,也可以当做其他类的方法的字符串参数。null表示变量的引用为空,只在栈中定义了一个变量,但是没有实际的指向
回复 使用道具 举报
马欢 黑马帝 2012-2-16 09:05:06
7#
NULL 代表声明了一个空对象,根本就不是一个字符串。  ""代表声明了一个对象实例,这个对象实例的值是一个长度为 0 的空字符串。" " 代表声明了一个对象实例 NULL 代表声明了一个空对象 对空对象做任何操作都不行的 除了 =和== 代表声明了一个空对象,对空对象做任何操作都不行的 , ""是一个字符串了 只是这个字符串里面没有内容了
回复 使用道具 举报
""是指虽然这个字符串长度为0,但是在堆内存中,还是会分配一个空间,用来存储这个字符串
null是指堆内存根本就不给这个字符串分配空间
比如:你想用碗盛饭
""是指你有一个碗,但是碗里没饭
而null是指你根本就没有碗
回复 使用道具 举报
张开开 黑马帝 2012-2-17 10:40:46
9#
""是空字符串,它仍然是个字符串,需要分配空间,有其内存地址,只是字符串特殊
而null则是空指针,压根就没有字符串,系统也不分配空间,没有指针指向
回复 使用道具 举报
""表示一个空的String类型的常量,在堆内存中分配的有空间;
null表示一个空类型的引用,不指向任何对象。
回复 使用道具 举报
hxc2008q 来自手机 初级黑马 2012-2-18 02:02:45
11#
你在后面加一个点就看出区别了
回复 使用道具 举报
""为字符串,在堆中分配了内存,但它指向的对象为空。
null只是声明了一个对象,但没有为它分配内存,它无对象可指向。
回复 使用道具 举报
李杨 发表于 2012-2-15 23:59
同学你说的这句

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

这句话的意思相当于
        String  stringName=“”;
就是说 " " 的存在是由于已经新定义了一个字符串,对这个字符串是有对应的存储空间的,但是这个空间里面现在没放东西!就好比说你新买了一个储物盒,但是还没往里面放东西,可是这个盒子却是存在的!

评分

参与人数 1技术分 +1 收起 理由
admin + 1

查看全部评分

回复 使用道具 举报
但是这个空间里面现在没放东西!就好比说你新买了一个储物盒,但是还没往里面放东西,可是这个盒子却是存在的!
回复 使用道具 举报
一个对象,一个是null对象为空。
回复 使用道具 举报
""表示这个字符串长度为0,但在内存中它会被分配一个空间,用来存储这个字符串
null是表示内存不对字符串分配空间
回复 使用道具 举报
null代码这是没东西的,在内容里面是根本不存在的
而"",是在内存中分配一个内容然后指向它,虽然""其实还是存在的只是 里面的东西是为空
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马