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

http://blog.csdn.net/roserose0002/article/details/6972391

java stringbuilder清空_Java中StringBuilder的清空方法比较相关推荐

  1. java如何重写_java中如何重写一个方法

    方法的重写: 1.在子类中可以根据需要对从基类中继承来的方法进行重写. 2.重写的方法和被重写的方法必须具有相同方法名称.参数列表和返回类型. 3.重写方法不能使用比被重写的方法更严格的访问权限. 在 ...

  2. java同步关键字_Java中synchronized关键字修饰方法同步的用法详解

    Java的最基本的同步方式,即使用synchronized关键字来控制一个方法的并发访问. 每一个用synchronized关键字声明的方法都是临界区.在Java中,同一个对象的临界区,在同一时间只有 ...

  3. java.equal例子_Java中的== 和equals()方法详解与实例

    Java中的== 和equals()方法: Java中的数据类型,可分为两类: 1.基本数据类型,也称原始数据类型. byte,short,char,int,long,float,double,boo ...

  4. java wait 参数_java中wait()和join()方法的区别是什么

    java中wait()和join()方法的区别是:存在不同的java包中:wait()方法用于线程间通信,它所施加的等待状态的线程可以被启动:join()方法用于在多个线程之间添加排序,它所施加的等待 ...

  5. java 结束循环_java中结束循环的方法

    java中结束循环的方法 发布时间:2020-06-25 11:31:06 来源:亿速云 阅读:180 作者:Leah 这篇文章将为大家详细讲解有关java中结束循环的方法,小编觉得挺实用的,因此分享 ...

  6. java stringbuilder清空_Java中StringBuilder的清空方法比較

    StringBuilder 没有提供clear或empty方法. 清空有3种方法: 1)新生成一个,旧的由系统自己主动回收 2)使用delete 3)使用setLength 将三种方法循环1000万次 ...

  7. java 克隆对象_Java 中如何使用clone()方法克隆对象?

    java为什么要 对象克隆: 在程序开发时,有时可能会遇到以下情况:已经存在一个对象A,现在需要一个与A对象完全相同的B 对象,并对B 对象的属性值进行修改,但是A 对象原有的属性值不能改变.这时,如 ...

  8. java listfiles 使用_Java中list()和listFiles()方法之间的区别

    java.io包的名为File的类表示系统中的文件或目录(路径名).为了获得目录中所有现有文件的列表,此类提供了list()和ListFiles()方法. 它们之间的主要区别是该列表()方法返回一个字 ...

  9. java map大小_Java中HashMap的size()方法: HashMap.size() - Break易站

    Java中的HashMap HashMap类的java.util.HashMap.size()方法用于获取哈希映射HashMap中映射的大小,该映射引用Map中键值对或映射的数量. 句法: Hash_ ...

最新文章

  1. JavaEE 获取路径全攻略
  2. 斗鱼实名认证 mysql_斗鱼扩展--DouyuRoom使用说明(十四)
  3. php教程目录,php基础入门篇-文件和目录操作_PHP教程
  4. python concurrent queue_Python的并发并行[2] - 队列[0] - queue 模块
  5. Exchange Server 2013系统要求
  6. 配色方案为您的下一个设计项目准备,照着配准没错!
  7. redis-cli批量删除时的坑
  8. 如何注册和获取百度地图的密钥
  9. Flutter实战之GetX工具类封装-GetUtils
  10. 03 - 雷达的基本组成
  11. ELK 日志分析系统
  12. 根据地址查询经纬度Js
  13. github配置SSH keys
  14. 安卓隐藏摄像_隐藏拍摄app
  15. Python批量获取VOC测试集的类别
  16. 六位不重复房间ID生成器,不使用Redis和额外数据结构
  17. 在今年最火的教育赛道上,「后来者」瓜瓜龙如何破局?
  18. 2022年全球与中国激光预警系统市场现状及未来发展趋势
  19. C语言编程打印出“水仙花数”
  20. Arduino上手动添加开发板

热门文章

  1. oracle的clob字段导致线上应用无响应问题及解决
  2. mysql 字符串特殊字符_转:MySQL数据入库时特殊字符处理
  3. php怎样连接上数据库服务器,php怎样连接数据库
  4. ajax then jquery,使用Jquery.ajax()。then()时无法.catch()错误
  5. oracle将存储过程导出,Oracle如何导出存储过程
  6. mysql 存储过程 is_Mysql存储过程语法问题...
  7. pycharm在linux安装插件,Pycharm安装go插件,开始go之旅
  8. JS 用JS实现跟随光标的提示
  9. VBA_输出SQL查询数据
  10. java集合框架总结(一)