問題:
package com.edu.string;
/** * string拼接
* @author xukai
* */
public static void main(string args)
}
控制台輸出的內容為:
null123
感覺有點沒有理解,還是基礎不夠牢固啊,上網查詢一番,得出的結果:
string拼接中間會產生stringbuilder物件(jdk1.5之前產生stringbuffer)
(str1+str2)具體過程:
1.呼叫string.valueof(obj),詳細**:
public static string valueof(object obj)
可以看出如果物件為null,那麼會拼接乙個字串"null",我之前還不詳細,在string類中打了斷點,確實呼叫的是這個方法(本人親測)
2.產生stringbuilder物件,呼叫下面的方法
public stringbuilder(string str)
return this;
}最後是stringbuilder.tostring()
建議有疑問可以debug跟蹤**
String 拼接底層實現原理
string 常量,不可變,不適合用來字串拼接,每次都是新建立的物件,消耗較大。stringbuffer 適合用來作字串拼接 stringbuilder jdk1.5引入,適合用來作字串拼接,與stringbuffer區別是他不是執行緒安全的 2 接下來進入正題string 拼接底層實現原理stri...
String字串拼接陷阱
先看如下程式 對於一般類物件 public class a public class test public static void main string args 再看如下程式 public class test public static void main string args 輸出的結果...
String字串拼接速率
在for迴圈中,比較常用的字串拼接方式包括以下五種方式 string,string.concat apache.commons.lang3.stringutils.join stringbuffer stringbuilder 接下來,依次分析上述五種方式 string,public final s...