Android幾種字串拼接的速度比較

2021-08-10 17:47:42 字數 1354 閱讀 9299

最近專案裡要解析協議,就要用到字串的擷取,拼接等操作。所以,順道看到一篇有意思的文章是講幾種字串拼接的效率的,感覺不錯,有助於理解stringbuilder , stringbuffer , string 的。

第一步,五種字串拼接列出來

第二步準備工作

long n = 5000;

logutil.fussenlog().d("開始了");

long str1 = system.currenttimemillis();

string s1 = new string("hello");

for (long i = 0; i < n; i++)

long e1 = system.currenttimemillis();

long t1 = e1 - str1;

long str2 = system.currenttimemillis();

string s2 = new string("hello");

for (long i = 0; i < n; i++)

long e2 = system.currenttimemillis();

long t2 = e2 - str2;

long str3 = system.currenttimemillis();

string s3 = new string("hello");

for (long i = 0; i < n; i++)

long e3 = system.currenttimemillis();

long t3 = e3 - str3;

long str4 = system.currenttimemillis();

stringbuffer s4 = new stringbuffer("hello");

for (long i = 0; i < n; i++)

long e4 = system.currenttimemillis();

long t4 = e4 - str4;

long str5 = system.currenttimemillis();

stringbuilder s5 = new stringbuilder("hello");

for (long i = 0; i < n; i++)

long e5 = system.currenttimemillis();

long t5 = e5 - str5;

這裡n設定5000   原因是我的測試機有點老   如果真機好點 可以設定10000+  這樣最後兩個效果能明顯

第三步:看log

ok,剩下的就是看圖說話了。

幾種拼接字串的效率問題

public class test long end1 system.currenttimemillis long time1 end1 start1 system.out.println 用string 拼接字串的時間 time1 long start2 system.currenttimemil...

golang 幾種字串的拼接方式

最近在做效能優化,有個函式裡面的耗時特別長,看裡面的操作大多是一些字串拼接的操作,而字串拼接在 golang 裡面其實有很多種實現。1.直接使用運算子func benchmarkaddstringwithoperator b testing.b golang 裡面的字串都是不可變的,每次運算都會產生...

幾種拼接字串的效率問題

拼接字串,大致有3個class可以用,他們是string,stringbuffer,stringbuilder,stringbuilder是1.5中來代替stringbuffer的。檢驗方法如下 public class test long end1 system.currenttimemillis...