黑马程序员技术交流社区

标题: 有关null 和 “”问题 [打印本页]

作者: wedge    时间: 2013-7-14 17:51
标题: 有关null 和 “”问题
java中,String a=null和String a=""有何区别?
作者: 闲人忙啊    时间: 2013-7-14 21:31
NULL 表示一个引用也就是没有指向任何引用,而""表示一个空的字符串,它是以'\0'做结束的
作者: Alice_☆_晓柒    时间: 2013-7-14 22:00
嗯,被楼上的兄弟给说了,我也是这么理解的
作者: 云游天下    时间: 2013-7-14 22:01
String a=null 表明a没有指向任何字符 是一个空引用,不占内存空间。 String a=""   表明a指向一个空字符,a不是一个空引用,要分配内存空间
作者: 李健09    时间: 2013-7-15 18:02
String a = null ;   申明一个string类型的 a,同时在内存里申请了一个空间地址,但是该地址不指向任何引用地址;
String a = "" ;申明一个string类型的 a,既在内存里申请了地址,该地址又指向一个引用字符串的引用地址;
作者: chilong_333    时间: 2013-7-16 15:40
String a=null 是个空指针,代表改没有该位置自然也就没有任何值。然而String a=""是已经开辟了一块地址出来,只是地址中是个空字符串而已。
这么说能理解吗?
作者: xscn    时间: 2013-7-17 01:03
String a=null就是一个空指针引用,可以理解为不存在的,没有任何引用指向
String a=""相当于在内存中开辟了一个空间,放上了一个空字符串
作者: 朱志群    时间: 2013-7-21 18:39
答:String a=null 表明a没有指向任何字符 是一个空引用,不占内存空间。String a=""   表明栈内存a指向一个空字符,a不是一个空引用,要分配内存空间
作者: loveywj    时间: 2014-1-8 14:15
也就是null 是没有的意思。不会给分配内存。而“”里面是放得有空的字符。会给他分配内存的,要占内存的
作者: mrwise1991    时间: 2014-1-14 20:17
String a=null 只是在编译器中登记了一个叫做a的字符串,但编译器并没有产生字符串对象来引用它;String a="",其赋值内容为空,表示虽然已经产生了引用,但内存空间大小还没有确定




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