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
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_ ...
最新文章
- Java虚拟机中 类的加载过程
- PHP mkdir()无写权限的问题解决方法
- Windows 10 开发环境搭建
- aix如何安装mysql_AIX下安装Mysql
- 今日定工资,不知是涨是跌,最迟明晚反馈
- [POI2007]POW-The Flood
- [BZOJ 2594] [Wc2006]水管局长数据加强版 【LCT】
- fpga供电电压偏低会怎样_正点原子【FPGA-开拓者】第三章 硬件资源详解
- 查询oracle 数据库中回滚段中一个时间点被修改的表数据并还原表中原来数据
- ansible 使用主机IP批量修改机器名
- 唐诗辑注 —— 辛夷坞、南园十三首、问六十九
- git clone 拉取github上面的代码报错:fatal: Authentication failed for xxx解决
- 旁边一位员工天天跟别人聊天,主管都不敢管,那你当什么主管
- RT-Thread : STM32 系列外设驱动添加指南
- 1、节假日万年历API接口,免费好用
- Java模拟新浪微博登陆抓取数据
- iPhone 手势识别
- 程序员叫啥名字_网友:什么是好程序员?腾讯员工:首先起个“配”自己的网名!...
- win7计算机u盘不显示盘符,U盘不显示磁盘盘符的解决方法
- 软件测试适合女孩子吗?从以下几点告诉你答案
热门文章
- 移动端网页广告引入 mraid.js 使用指南
- 玄武云科技通过上市聆讯:业绩波动明显,陈永辉等三人为控股股东
- WIFI跟WLAN是一样的吗
- 计算机网络sp,网络信号电涌保护器(sp-005dc10-rj45) Network signal surge protector (sp-005dc10-rj45)...
- Win7上装双系统,完美体验Win8(傻瓜操作,简单易懂,亲测成功)
- C# 操作地址 从内存中读取写入数据(初级)
- Integer初始化
- mac 不显示 外接屏幕_如何设置Macbook外接显示器 Macbook外接显示器设置教程【详解】...
- 国开电大 道路工程技术 形考任务
- OCRNLP技术自动抽取合同/文档关键信息