string Chart = null;
StringBuilder sb = new StringBuilder();
long StartTime = DateTime.Now.Ticks;
for (int i = 0; i < 100000; i++)
{
Chart += i;
}
long EndTime = DateTime.Now.Ticks;
Label1.Text = "String所花费时间:" + (EndTime - StartTime);
StartTime = DateTime.Now.Ticks;
for (int i = 0; i < 100000; i++)
{
sb.Append(i.ToString());
}
EndTime = DateTime.Now.Ticks;
Label2.Text = "StringBuilder所花费时间:" + (EndTime - StartTime);
输出内容:
String所花费时间:917500000 StringBuilder所花费时间:312500
差距了2936倍,
请原谅我以前某个项目页面拼接全是用的String,因为方便...现在真心学到了
String
StringBuilder
------解决方案--------------------
写的不错,但是你知道原理么?
------解决方案--------------------
看看java是怎么处理String的拼接你就明白为什么这么慢了
------解决方案--------------------
String是一次性消费品,Stringbuilder是绿色环保可复用消费品。