前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Java中StringBuilder的清空方法比較

Java中StringBuilder的清空方法比較

作者头像
全栈程序员站长
发布2022-07-13 14:49:03
6K0
发布2022-07-13 14:49:03
举报

大家好,又见面了,我是全栈君,祝每个程序员都可以多学几门语言。

StringBuilder 没有提供clear或empty方法。 清空有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

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/118394.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2021年12月,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档