黑马程序员技术交流社区

标题: 求解字符串的一个小问题 [打印本页]

作者: 夜默    时间: 2013-6-6 21:40
标题: 求解字符串的一个小问题
本帖最后由 4968547610317 于 2013-6-6 22:32 编辑

String s1="";
String s2=null;
"" 和null有啥区别
输出的时候"" 是什么都没有
null是输出 null
还有别的吗?

作者: 喜欢流浪    时间: 2013-6-6 21:51
“” 是有分配空间的 只不过这个空间没有任何东西;而null 是个空指针,就没有把S2指向堆内存任何一个地方!
作者: 花心々小土豆    时间: 2013-6-6 22:13
""是一个字符串,只是长度为零而已,它在栈内存中有具体的位置,s1里存放指向的它的指针。
而null什么都没有,没有地址,s2里放的是一个空指针。
作者: 张歆明    时间: 2013-6-6 22:33
""是存在方法区常量池的一个常量字符串  他是有地址值标志的 是在内存中开辟空间的  null没有开辟空间 s2是输出null  s1和s2都是栈里面的临时变量  s1里面存放的是""的地址值  s2没有指向任何对象  值就是null
作者: 夜默    时间: 2013-6-6 22:34
谢了,经常会在小细节上犯迷糊..




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