黑马程序员技术交流社区
标题:
string 小问题
[打印本页]
作者:
王--明
时间:
2012-2-23 10:09
标题:
string 小问题
string = null 和string = “”;
何时各自定义,内存怎么分配。
作者:
张开开
时间:
2012-2-23 11:18
这种方式我还真没有见过!是不是String a="" 和String a=null; 应该要有个名字吧,或者用new了
作者:
沈样
时间:
2012-2-23 11:24
string = null 应该是在栈内存中开了个string地址为空 和string = “”是把栈内的string地址引到了String池中的""的地址;
如有不对请指出
作者:
仵先进
时间:
2012-2-23 11:38
string str="",表示一个空串,被实列化了,占用了内存空间
string str=null,表示一个空引用,没有占用了空间
作者:
【专】【属】
时间:
2012-2-23 13:15
同意上楼的,
不过很要注意的对于null的字符串调用对象的方法会抛出NullPointException的异常,而对""这样的对象这不会。
作者:
彭沛东
时间:
2012-2-23 13:40
String str= “”;等于在栈内存中开辟空间。
String str = null;没有初始化、也就是没开辟空间、容易报空指针异常。
作者:
陈伟
时间:
2012-2-23 14:16
string = null
表示定义了一个引用型变量string,不指向任何对象,当该变量指向的变量使用完毕,可以这样写释放内存
string = “”;
表示定义了一个引用型变量string指向一个内容为空的对象;
作者:
朱皓
时间:
2012-2-23 14:46
string str=null;是指声明了一个string类型变量的引用,但是在堆内存中并没有开辟空间;
string str="";是指黑马声明了一个string类型变量的引用,在堆内存中也开辟了空间,但是长度为0;
作者:
黄锦成
时间:
2012-2-23 14:58
String s = null :只是定义了一个字符串变量,没有在内存中开辟空间
String s= "";定义了一个字符串变量,在内存中开辟了空间,内容为空
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2