java stringbuilder清空_Java中StringBuilder的清空方法比较
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的清空方法比较相关推荐
- java如何重写_java中如何重写一个方法
方法的重写: 1.在子类中可以根据需要对从基类中继承来的方法进行重写. 2.重写的方法和被重写的方法必须具有相同方法名称.参数列表和返回类型. 3.重写方法不能使用比被重写的方法更严格的访问权限. 在 ...
- java同步关键字_Java中synchronized关键字修饰方法同步的用法详解
Java的最基本的同步方式,即使用synchronized关键字来控制一个方法的并发访问. 每一个用synchronized关键字声明的方法都是临界区.在Java中,同一个对象的临界区,在同一时间只有 ...
- java.equal例子_Java中的== 和equals()方法详解与实例
Java中的== 和equals()方法: Java中的数据类型,可分为两类: 1.基本数据类型,也称原始数据类型. byte,short,char,int,long,float,double,boo ...
- java wait 参数_java中wait()和join()方法的区别是什么
java中wait()和join()方法的区别是:存在不同的java包中:wait()方法用于线程间通信,它所施加的等待状态的线程可以被启动:join()方法用于在多个线程之间添加排序,它所施加的等待 ...
- java 结束循环_java中结束循环的方法
java中结束循环的方法 发布时间:2020-06-25 11:31:06 来源:亿速云 阅读:180 作者:Leah 这篇文章将为大家详细讲解有关java中结束循环的方法,小编觉得挺实用的,因此分享 ...
- java stringbuilder清空_Java中StringBuilder的清空方法比較
StringBuilder 没有提供clear或empty方法. 清空有3种方法: 1)新生成一个,旧的由系统自己主动回收 2)使用delete 3)使用setLength 将三种方法循环1000万次 ...
- java 克隆对象_Java 中如何使用clone()方法克隆对象?
java为什么要 对象克隆: 在程序开发时,有时可能会遇到以下情况:已经存在一个对象A,现在需要一个与A对象完全相同的B 对象,并对B 对象的属性值进行修改,但是A 对象原有的属性值不能改变.这时,如 ...
- java listfiles 使用_Java中list()和listFiles()方法之间的区别
java.io包的名为File的类表示系统中的文件或目录(路径名).为了获得目录中所有现有文件的列表,此类提供了list()和ListFiles()方法. 它们之间的主要区别是该列表()方法返回一个字 ...
- java map大小_Java中HashMap的size()方法: HashMap.size() - Break易站
Java中的HashMap HashMap类的java.util.HashMap.size()方法用于获取哈希映射HashMap中映射的大小,该映射引用Map中键值对或映射的数量. 句法: Hash_ ...
最新文章
- JavaEE 获取路径全攻略
- 斗鱼实名认证 mysql_斗鱼扩展--DouyuRoom使用说明(十四)
- php教程目录,php基础入门篇-文件和目录操作_PHP教程
- python concurrent queue_Python的并发并行[2] - 队列[0] - queue 模块
- Exchange Server 2013系统要求
- 配色方案为您的下一个设计项目准备,照着配准没错!
- redis-cli批量删除时的坑
- 如何注册和获取百度地图的密钥
- Flutter实战之GetX工具类封装-GetUtils
- 03 - 雷达的基本组成
- ELK 日志分析系统
- 根据地址查询经纬度Js
- github配置SSH keys
- 安卓隐藏摄像_隐藏拍摄app
- Python批量获取VOC测试集的类别
- 六位不重复房间ID生成器,不使用Redis和额外数据结构
- 在今年最火的教育赛道上,「后来者」瓜瓜龙如何破局?
- 2022年全球与中国激光预警系统市场现状及未来发展趋势
- C语言编程打印出“水仙花数”
- Arduino上手动添加开发板
热门文章
- oracle的clob字段导致线上应用无响应问题及解决
- mysql 字符串特殊字符_转:MySQL数据入库时特殊字符处理
- php怎样连接上数据库服务器,php怎样连接数据库
- ajax then jquery,使用Jquery.ajax()。then()时无法.catch()错误
- oracle将存储过程导出,Oracle如何导出存储过程
- mysql 存储过程 is_Mysql存储过程语法问题...
- pycharm在linux安装插件,Pycharm安装go插件,开始go之旅
- JS 用JS实现跟随光标的提示
- VBA_输出SQL查询数据
- java集合框架总结(一)