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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 刘林虎 于 2013-4-4 23:41 编辑

谁给详细的解释解释""和"null"的问题  谢谢了

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1 鼓励鼓励

查看全部评分

6 个回复

倒序浏览
""这是一个字符串的表示形式,一个空字符串;null 你要是用双引号引起来的,表示是一个字符为null的字符串,要是不引起来,就表示,是空,没有任何值.
回复 使用道具 举报
“”:  已经分配内存空间,引用一个字符串,但字符串为空;
null ;  没有分配空间,引用为空。

前者已经是实例化的对象,后者没有存在引用,没有对象。
回复 使用道具 举报
一旦 Java 看到null,就知道该句柄并未指向一个对象。
正式使用前,必须为每个句柄都分配一个对象。
若试图使用依然为null 的一个句柄,就会在运行期报告问题。
因此,典型的数组错误在Java 里就得到了避免。
" "则没有null这些特性
回复 使用道具 举报
null 会在栈中开辟一个变量名,并且指向了一块堆内存,已经算是实例化了
"  "只是在栈中开辟了一个变量,并没有指向堆内存,没有引用,没有对象
所以如果 Person p = null; p.getName()在编译时可以通过的,结果当然是null;
而如果是Person p;后面没有进行实例化就调用p.getName()的时候,编译也不会通过。

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

回复 使用道具 举报
如果仍有问题,请继续追问,如果问题已解决,请将分类改为已解决,谢谢
回复 使用道具 举报
""是个字符串。null是个值!我是这样理解的,不知道对否!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马