Java中StringBuilder的清空方法比较
来源:互联网 发布:战舰世界 青叶 数据 编辑:程序博客网 时间:2024/04/30 17:58
清空有3种方法:
1)新生成一个,旧的由系统自动回收
2)使用delete
3)使用setLength
将三种方法循环1000万次,代码:
1.public class sbbm {
2.
3. static String a;
4. static long time ;
5. public static void main( String[] args ) throws Exception {
6.
7. StringBuilder sb = new StringBuilder();
8. StringBuilder sb3 = new StringBuilder();
9.
10. time = System.currentTimeMillis();
11. for( int i = 0; i < 10000000; i++ ) {
12. StringBuilder sb2 = new StringBuilder();
13. sb2.append( "someStr6ing" );
14. sb2.append( "someS5tring2" );
15. sb2.append( "some3Strin4g" );
16. sb2.append( "so3meStr5ing" );
17. sb2.append( "so2meSt7ring" );
18. a = sb2.toString();
19. }
20. System.out.println( "Way2="+(System.currentTimeMillis()-time) );
21.
22.
23. time = System.currentTimeMillis();
24. for( int i = 0; i < 10000000; i++ ) {
25. sb.delete( 0, sb.length() );
26. sb.append( "someString" );
27. sb.append( "someString2" );
28. sb.append( "someStrin4g" );
29. sb.append( "someStr5ing" );
30. sb.append( "someSt7ring" );
31. a = sb.toString();
32. }
33. System.out.println( "Way1="+(System.currentTimeMillis()-time) );
34.
35. time = System.currentTimeMillis();
36. for( int i = 0; i < 10000000; i++ ) {
37.
38. sb3.setLength( 0 );
39. sb3.append( "someStr55ing" );
40. sb3.append( "some44String2" );
41. sb3.append( "som55eStrin4g" );
42. sb3.append( "some66Str5ing" );
43. sb3.append( "so33meSt7ring" );
44. a= sb3.toString() ;
45. }
46. System.out.println( "Way3="+(System.currentTimeMillis()-time) );
47.
48.
49. }
50.}
注意append的字符串要都不相同,否则会因为java 的String pool对结果造成影响(即3好于2)
结果:
1.Way2=9438
2.Way1=6281
3.Way3=6469
可以将各方法多重复几次,点到顺序,等
总体来看:方法2好于方法3好于方法1
- Java中StringBuilder的清空方法比较
- Java中StringBuilder的清空方法比较
- (转)Java中StringBuilder的清空方法比较
- Java中StringBuilder的清空方法比较
- Java中StringBuilder清空数据方法比较
- Java中StringBuilder清空数据方法比较
- java中StringBuilder清空效率比较
- Java中StringBuilder的清空方法比…
- java stringbuilder 清空问题
- 清空StringBuilder的内容
- 【转】清空StringBuilder的三种方法及效率
- StringBuilder重用 清空数据方法
- StringBuffer和StringBuilder的清空操作
- C语言数组清空的几种方法比较
- python清空字典的两种方法比较
- C语言数组清空的几种方法比较
- StringBuilder清空
- 如何清空StringBuilder
- 新浪微博OAuth 2.0接口简单实例例
- 非功能性需求
- WPF中动态改变控件显示位置
- 视频测试序列的下载地址 转自:http://blog.sina.com.cn/s/blog_5fd6a0e50100dn0k.html
- nfs配置
- Java中StringBuilder的清空方法比较
- 在VB图像处理中BMP位图的详细说明
- OpenNMS全接触-事件及通知(十)
- LinuxShell编程
- 解决"ORA-28001: the password has expired”
- Android面试题,看看你基础如何
- 安卓ApiDemos学习 app/Activity/Wallpaper
- Live Wallpaper动态壁纸开发
- 软件项目开发流程(转)