介绍
这篇文章主要讲解了Java字符串拼接效率的测试,内容清晰明了,对此有兴趣的小伙伴可以学习一下,相信大家阅读完之后会有帮助。
测试代码:
公共类StringJoinTest { 公共静态void main (String [] args) { int数=10000; 长开始、结束时间; 开始=System.currentTimeMillis (); testString(数); 结束=System.currentTimeMillis (); 时间=结束-开始; System.out.println(“拼接“;+数+“次,字符串消耗时间:“+时间+“毫秒“); 开始=System.currentTimeMillis (); testStringBuffer(数); 结束=System.currentTimeMillis (); 时间=结束-开始; System.out.println(“拼接“;+数+“次,StringBuffer消耗时间:“+时间+“毫秒“); 开始=System.currentTimeMillis (); testStringBuilder(数); 结束=System.currentTimeMillis (); 时间=结束-开始; System.out.println(“拼接“;+数+“次,StringBuilder消耗时间:“+时间+“毫秒“); } 私有静态字符串testStringBuilder (int数){ StringBuilder tem=new StringBuilder (); for (int i=0;我& lt;计数;我+ +){ tem.append (“hello world !”); } 返回tem.toString (); } 私有静态字符串testStringBuffer (int数){ StringBuffer tem=new StringBuffer (); for (int i=0;我& lt;计数;我+ +){ tem.append (“hello world !”); } 返回tem.toString (); } 私有静态字符串testString (int数){ 字符串tem=?“; for (int i=0;我& lt;计数;我+ +){ tem +=癶ello world !”; } 返回tem; } }
测试结果:
<强>结论:强>
在少量字符串拼接时还看不出差别,但随着数量的增加,字符串+拼接效率显著降低。在达万到100次,我本机电脑已经无法执行字符串+拼接了,StringBuilder效率略高于StringBuffer。所以在开发过程中通常情况下推荐使用StringBuilder。
StringBuffer和StringBuilder的区别在于StringBuffer是线程安全的。
看完上述内容,是不是对Java字符串拼接效率的测试有进一步的了解,如果还想学习更多内容,欢迎关注行业资讯频道。