Java中StringBuilder的清空方法比较
来源:互联网 发布:光束灯编程 编辑:程序博客网 时间:2024/05/17 04:20
清空有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
- 动态生成校验码
- Flex页面间三种传值方式
- udp 编码的connect 函数 ——unix 网络编程 第8章
- 关于ioremap,request_mem_region
- STL系列之三 queue 单向队列
- Java中StringBuilder的清空方法比较
- http 协议中得 referer
- 使用win32ole操作Excel-1
- Windows Phone 7 UI设计和交互规范随笔(1)
- On having layout
- slphinx xmlpipe2
- 工作狂人Jack Dorsey:8小时Twitter,8小时Square
- Windows Phone 7 UI设计和交互规范随笔(2)
- 标准标签库JSTL之------核心标签库。各种标签的使用