为了账号安全,请及时绑定邮箱和手机立即绑定

Java的string初始化为null,为什么把null当成了字符串?而不是空?

Java的string初始化为null,为什么把null当成了字符串?而不是空?

慕斯王 2019-03-21 18:15:51
String a = null;System.out.println(a+"1");输出为null1
查看完整描述

6 回答

?
繁花如伊

TA贡献2012条经验 获得超12个赞

java源码对null处理了,你打印null,他就输出null了


查看完整回答
反对 回复 2019-04-25
?
互换的青春

TA贡献1797条经验 获得超6个赞

补充下为什么会调用String.valueOf,其实“+”这个运算符可以看做是一个语法糖,对于C++开发者来说可能会觉得是操作符重载了,其实在java中是没有重载的,通过反编译.class文件可以看到其会调用java.lang.StringBuilder#append(java.lang.Object)这个方法,所以就会产生depress所说的那种情形。

查看完整回答
反对 回复 2019-04-25
?
红颜莎娜

TA贡献1842条经验 获得超12个赞

https://img1.sycdn.imooc.com//5cc12ac700011bc102680126.jpg

查看完整回答
反对 回复 2019-04-25
  • 6 回答
  • 0 关注
  • 2547 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信