String字串拼接速率

2021-10-16 17:40:19 字數 1958 閱讀 2132

在for迴圈中,比較常用的字串拼接方式包括以下五種方式:

string,+

string.concat

apache.commons.lang3.stringutils.join

stringbuffer

stringbuilder

接下來,依次分析上述五種方式

string,+

public final static

void

stringstr()

long time1 = system.

currenttimemillis()

; system.out.

println

("-----使用string+:"

+(time1 - time));

}

輸出:-----使用string+:4680

string.concat

public final static

void

stringconcat()

long time1 = system.

currenttimemillis()

; system.out.

println

("-----使用string.concat:"

+(time1 - time));

}

輸入:-----使用string.concat:3373

apache.commons.lang3.stringutils.join

public final static

void

stringutilsjoin()

; long time = system.

currenttimemillis()

;for

(int i=

0;i<

20000

;i++

) long time1 = system.

currenttimemillis()

; system.out.

println

("-----使用stringutils.join:"

+(time1-time));

}

輸入:-----使用stringutils.join:40

public final static

void

stringbuffer()

long time3 = system.

currenttimemillis()

; system.out.

println

("-----使用stringbuffer:"

+(time3-time));

}

輸出:-----使用stringbuffer:10

public final static

void

stringbuilder()

long time1 = system.

currenttimemillis()

; system.out.

println

("-----使用stringbuilder:"

+(time1-time));

}

輸出:-----使用stringbuilder:4

從上述執行結果來說,在for迴圈中使用字串拼接的速度:

stringbuilder>stringbuffer>stringutils.join>string.concat>string+

String字串拼接陷阱

先看如下程式 對於一般類物件 public class a public class test public static void main string args 再看如下程式 public class test public static void main string args 輸出的結果...

String 型別字串儲存和拼接

string str1 hello string str2 he llo string str3 he new string llo str1 str2 true str1 str3 false 這個問題我試著回答一下,同時也是相互學習。string str1 hello stringstr2 he...

精 (String)字串拼接記憶體解析

string str1 hello 字串常量池中沒有 hello 則建立乙個字串並把位址值返回給str1 string str2 hello 字串常量池中存在 hello 則創將該字串的位址值返回給str2 string str3 new string hello str3指向物件的位址,物件中的值...