Jun*_*uns 2 java string null concat
根据我的理解,当+运算符与两个字符串文字一起使用时,会调用concat方法来生成期望的字符串.示例 - String s = "A" + "B";
当存在null代替下面的一个文字时,它产生低于输出.我在这里很困惑 - 为什么不扔NullPointerException?
String str = null + "B";
System.out.println(str);
Run Code Online (Sandbox Code Playgroud)
输出:
nullB
为什么不扔
NullPointerException.
因为,字符串连接将字符串转换操作应用于非类型的操作数,在本例中String为null引用.字符串连接转换为:
String str = new StringBuilder("null").append("B").toString();
Run Code Online (Sandbox Code Playgroud)
哪个不会扔NPE.
然后通过字符串转换将此引用值转换为String类型.[...]
- 如果引用
null,它被转换成字符串"null"(4个ASCII字符n,u,l,l).
| 归档时间: |
|
| 查看次数: |
1473 次 |
| 最近记录: |