String 与 StringBuffer 的效率比较
2008-11-23 20:38
405 查看
看看以下代码:
将26个英文字母重复加了5000次,
String tempstr = "abcdefghijklmnopqrstuvwxyz";
int times = 5000;
long lstart1=System.currentTimeMillis();
String str ="";
for(int i=0;i<times;i++)
{
str+=tempstr;
}
long lend1=System.currentTimeMillis();
long time = (lend1-lstart1);
System.out.println(time);
可惜我的计算机不是超级计算机,得到的结果每次不一定一样一般为 154735 左右。
也就是154秒。
我们再看看以下代码
String tempstr = "abcdefghijklmnopqrstuvwxyz";
int times = 5000;
long lstart2=System.currentTimeMillis();
StringBuffer sb =new StringBuffer();
for(int i=0;i<times;i++)
{
sb.append(tempstr);
}
long lend2=System.currentTimeMillis();
long time2 = (lend2-lstart2);
System.out.println(time2);
得到的结果为 16 有时还是 0
所以结论很明显,StringBuffer 的速度几乎是String 上万倍。当然这个数据不是很准确。因为循环的次数在100000次的时候,差异更大。不信你试试。
下一次我将解释为什么StringBuffer 的效率比String 高这么多。
将26个英文字母重复加了5000次,
String tempstr = "abcdefghijklmnopqrstuvwxyz";
int times = 5000;
long lstart1=System.currentTimeMillis();
String str ="";
for(int i=0;i<times;i++)
{
str+=tempstr;
}
long lend1=System.currentTimeMillis();
long time = (lend1-lstart1);
System.out.println(time);
可惜我的计算机不是超级计算机,得到的结果每次不一定一样一般为 154735 左右。
也就是154秒。
我们再看看以下代码
String tempstr = "abcdefghijklmnopqrstuvwxyz";
int times = 5000;
long lstart2=System.currentTimeMillis();
StringBuffer sb =new StringBuffer();
for(int i=0;i<times;i++)
{
sb.append(tempstr);
}
long lend2=System.currentTimeMillis();
long time2 = (lend2-lstart2);
System.out.println(time2);
得到的结果为 16 有时还是 0
所以结论很明显,StringBuffer 的速度几乎是String 上万倍。当然这个数据不是很准确。因为循环的次数在100000次的时候,差异更大。不信你试试。
下一次我将解释为什么StringBuffer 的效率比String 高这么多。
相关文章推荐
- String 与 StringBuffer效率比较
- Java学习札记14:一个比较String、StringBuffer和StringBuilder之间效率差别的简单例子
- StringBuffer和String效率比较
- String和StringBuffer效率比较
- String与StringBuffer效率的比较
- String, StringBuffer, StringBuilder拼接字符串的执行效率比较
- java中String、StringBuilder和StringBuffer效率的比较
- String,StringBuffer,StringBuilder效率与内存占用比较
- String、StringBuffer、StringBuilder的区别与效率比较
- 七种java字符串反转比较得出String与StringBuffer的效率
- String与StringBuffer效率的比较
- 再传一点今天的开发日志上来,主要是String和StringBuffer效率问题比较
- [Java]String和StringBuffer连接字串的效率比较
- String和StringBuffer效率比较
- java String常用操作以及比较用String与StringBuffer追加字符的执行效率【修订2】
- String与StringBuffer的区别(最全比较)
- String、StringBuffer、StringBuilder区分和性能比较
- Java中字符串对象String、StringBuffer、StringBuilder的比较
- int Integer 转换成String 的效率比较
- String、StringBuffer与StringBuilder比较