java string为null时的字符串拼接

public class HelloWorld {
    public static void main(String args[]) {
        String s = null;
        s = s+"word";
        System.out.println("hello " +s);
    }
}


对于上面的方法,可能很多人会以为输出是“hello word”。但是,运行后,结果却并不是我们所以为的那样。

运行后的结果是”hello nullword




s = s+"word"; 等价于 s = String.valueOf(s)+"word";  Integer,Double都一样。




String的源码:

public static String valueOf(Object obj) {
  return (obj == null) ? "null" : obj.toString();
}











posted @ 2016-01-22 16:02  Bug开发攻城狮  阅读(2741)  评论(0编辑  收藏  举报