Java中StringBuilder的清空方法比較
清空有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://www.cnblogs.com/bhlsheji/p/4290917.html
Java中StringBuilder的清空方法比較相关推荐
- java stringbuilder清空_Java中StringBuilder的清空方法比較
StringBuilder 没有提供clear或empty方法. 清空有3种方法: 1)新生成一个,旧的由系统自己主动回收 2)使用delete 3)使用setLength 将三种方法循环1000万次 ...
- java stringbuilder清空_Java中StringBuilder的清空方法比较
StringBuilder 没有提供clear或empty方法. 清空有3种方法: 1)新生成一个,旧的由系统自动回收 2)使用delete 3)使用setLength 将三种方法循环1000万次,代 ...
- StringBuilder的清空方法及其效率比较
平时会用StringBuilder做字符串的频繁拼接,有些时候,在循环中拼接完字符串后需要将StringBuilder清空,然后从循环开始再次拼接.这里介绍一下StringBuilder的清空方法,及 ...
- java中怎样创建多个对象,java中StringBuilder.appent方法创建几个对象
在Java中StringBuilder是继承AbstractStringBuilder,在AbstractStringBuilder是byte[] value; 存放字符内容 public Abstr ...
- java中容易混淆的方法_java中容易混淆的区别
本文会随时更新一些java中容易混淆的关键字或者知识点,如有偏见之处,望留言! final和static的差别: 1,final的英语意思"最后的",在java中修饰类,方法和变量 ...
- 遍历Java中的列表的方法
本文翻译自:Ways to iterate over a list in Java Being somewhat new to the Java language I'm trying to fami ...
- 在java中下列描述错误的是_在 JAVA 中 , 关于类的方法 , 下列描述错误的是 ()._学小易找答案...
[多选题]价值的特性是 [简答题]输入任一字符串,统计其中数字,字母及其它字符个数 .(25分) [填空题]1.产品整体包括哪五个基本层次 2核心层次产品最基本的层次,是产品的_____ [单选题]纸 ...
- java中读取文件的方法
总结一下java中读取文件的方法: 方法一(逐行的读取文件内容): private FileReader fileReader; private BufferedReader bufferedRead ...
- JAVA中线程同步的方法(7种)汇总
JAVA中线程同步的方法(7种)汇总 同步的方法: 一.同步方法 即有synchronized关键字修饰的方法. 由于java的每个对象都有一个内置锁,当用此关键字修饰方法时, 内置锁会保护整个方法. ...
最新文章
- NLP语义标注模型数据准备及实战
- percona-Toolkit
- VS2017 Cordova Ionic2 移动开发-环境搭建
- Boost:简单的双图bimap的测试程序
- IOS时间与日期处理
- 详解JDBC连接数据库
- java先进先出 循环队列,JavaScript队列、优先队列与循环队列
- java 输入16进制_尝试使用十六进制输入来使用小端和大端
- 一种编程范式:对拍编程
- 语音识别asr是什么
- 机器学习案例系列教程——损失函数总结
- 问题十五:C++中抽象类,虚函数是什么鬼?怎么测试
- MySQL-5.6.14-winx64的免安装配置方法
- 树莓派与Arduino Leonardo使用NRF24L01无线模块通信之基于RF24库 (四) 树莓派单子节点查询...
- c语言烟花代码vc,C语言烟花程序
- 百度SEO标题关键词伪原创组合工具
- 惠普179fnw打印机使用说明_|惠普HP Color Laser MFP 179fnw一体机驱动下载v1.10官方版 - 欧普软件下载...
- danfoss 变频器的profinet通讯调试_西门子G120变频器S7-300之间的PN通讯
- 类似中国知网但是搜索英文文献的权威网站有哪些?
- 淘气的小丁-简易聊天器
热门文章
- Mac OS X Glut build instructions
- Python 字符串操作(string替换、删除、截取、复制、连接、比较、查找、包含、大小写转换、分割等)...
- 移动开发web第一天
- 合并bin文件-----带boot发布版本比较好用的bat(便捷版)
- Android Material Design TabLayout属性app:tabMode和app: tabGravity
- Kubernetes权威指南精彩段落
- java web过滤器
- OpenStack tokens id获取测试
- DHCP option 150与option 66的区别
- linux下shell的工作原理