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();
}