String拼接問題

2021-07-23 08:28:02 字數 690 閱讀 7342

問題:

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...