黑马程序员技术交流社区
标题:
关于字符串的null值问题
[打印本页]
作者:
紫衣侯
时间:
2013-6-8 21:20
标题:
关于字符串的null值问题
本帖最后由 紫衣侯 于 2013-6-9 19:08 编辑
String a = null;
//System.out.println(a.length());
a= a+null;
System.out.println(a.length());
null不是代表空值吗,也就是没有数据。为什么 a=a+null;之后竟然成为字符串?
作者:
逝者轨迹
时间:
2013-6-8 21:43
String a = null;是吧a的地址指向空,但是NULL本身对应一个内存编码,所以当a= a+null;就是把null值赋给了a。说的不够清楚,但是大致意思就是这样吧
作者:
luckwei
时间:
2013-6-9 08:18
System.out.println(a.length);运行会报NullPointerException,a = a+null;System.out.println(a.length);的到的结果是8,迷茫吧,其实jvm所做的是,
a = new StringBuilder(String.valueOf(a)).append(String.valueOf(null)).toString();返回nullnull一个null是4位,两正好是8。
作者:
袁梦希
时间:
2013-6-9 15:15
楼主你好 如果帖子的问题已经解决,请把帖子的类型改为“已解决”。{:soso_e102:}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2