黑马程序员技术交流社区

标题: 一直迷糊的一个问题"" 和"null"的区别??? [打印本页]

作者: 刘林虎    时间: 2013-4-4 18:57
标题: 一直迷糊的一个问题"" 和"null"的区别???
本帖最后由 刘林虎 于 2013-4-4 23:41 编辑

谁给详细的解释解释""和"null"的问题  谢谢了
作者: zjm10zj    时间: 2013-4-4 19:06
""这是一个字符串的表示形式,一个空字符串;null 你要是用双引号引起来的,表示是一个字符为null的字符串,要是不引起来,就表示,是空,没有任何值.
作者: 黑马伍哲沂    时间: 2013-4-4 19:18
“”:  已经分配内存空间,引用一个字符串,但字符串为空;
null ;  没有分配空间,引用为空。

前者已经是实例化的对象,后者没有存在引用,没有对象。
作者: 郭沐昌    时间: 2013-4-4 19:23
一旦 Java 看到null,就知道该句柄并未指向一个对象。
正式使用前,必须为每个句柄都分配一个对象。
若试图使用依然为null 的一个句柄,就会在运行期报告问题。
因此,典型的数组错误在Java 里就得到了避免。
" "则没有null这些特性
作者: 张钶    时间: 2013-4-4 20:17
null 会在栈中开辟一个变量名,并且指向了一块堆内存,已经算是实例化了
"  "只是在栈中开辟了一个变量,并没有指向堆内存,没有引用,没有对象
所以如果 Person p = null; p.getName()在编译时可以通过的,结果当然是null;
而如果是Person p;后面没有进行实例化就调用p.getName()的时候,编译也不会通过。
作者: 黄玉昆    时间: 2013-4-4 23:22
如果仍有问题,请继续追问,如果问题已解决,请将分类改为已解决,谢谢
作者: london1908    时间: 2013-4-5 13:00
""是个字符串。null是个值!我是这样理解的,不知道对否!




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