用StringBuffer优化字符串性能

王朝java/jsp·作者佚名  2006-01-09
宽屏版  字体: |||超大  

使用操作符+=或+来串连字符串是一种简便的方法,但在对于性能有要求的场合中并不适用.实例证明使用StringBuffer而不是使用操作符+=或+来串连字符串可以提升程序的性能.

参见如下的代码:

public class StringBuff{

public static void main(String arg[]){

final int N = 10000;

//用操作符串联两个字符串

long startTime = System.currentTimeMillis();

String s1 = "a";

for(int i=1;i<N;i++){

s1 += "*";

}

long endTime = System.currentTimeMillis();

System.out.println("用操作用操作符串联两个字符串: " + (endTime-startTime) + "ms");

//通过StringBuffer串连两个字符串

startTime = System.currentTimeMillis();

StringBuffer sb = new StringBuffer();

for(int i=1;i<N;i++){

sb.append("*");

}

String s2 = sb.toString();

endTime = System.currentTimeMillis();

System.out.println("用StringBuffer串联两个字符串: " + (endTime-startTime) + "ms");

}

}

运行结果:

用操作用操作符串联两个字符串: 1187ms

用StringBuffer串联两个字符串: 16ms

运行环境:

AMD Duron 1.6GHz,256M DDR,Windows XP SP2,J2SE 5.0 update 1

运行结果显示,使用StringBuffer的append()方法串连字复串相较于使用字符串操作符有教大的性能差异.所以在对性能有要求的情况下,应该使用StringBuffer来实现串联字符串.

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有