1. 程式人生 > >java 字串拼接為什麼不能用null

java 字串拼接為什麼不能用null

自己寫程式碼的時候,第一次用String str= null;然後去拼接字串,在查詢的時候報錯,debug檢查出來,最終的引數字串str裡面居然有null,如圖:

所以拼接字串不能用null,原因如下:

s = s+"word"; 等價於 s = String.valueOf(s)+"word";  Integer,Double都一樣。

//jdk原始碼
public static String valueOf(Object obj) {
  return (obj == null) ? "null" : obj.toString();
}

在這裡就已經返回一個null了,但如果定義為如下呢?自己去試試吧。

String str = "";