java stringbuilder 清空问题
来源:互联网 发布:淘宝阿里妈妈是什么 编辑:程序博客网 时间:2024/05/17 23:42
java stringbuilder 清空问题
我也是碰到了这个问题才开始研究的,网上答案偏多,并且时间范围也比较大,各个版本的java 优化也不清楚,只能说我的java环境是1.7,测试给大家看。
三种思想
1、新生成一个,旧的由系统自动回收
2、delete 方法
builder1.delete(0, builder.length());
3、Length
StringBuilder val = new StringBuilder();
val.Append(“….”);
val.Length = 0;//清空
代码
StringBuilder builder = new StringBuilder(); long time = System.currentTimeMillis(); for(int i=0;i<10000000;i++){ builder = new StringBuilder(); builder.append("aa"); builder.append("bb"); builder.append("cc"); builder.append("dd"); builder.append("ee"); } System.out.println("new 耗时:" + (System.currentTimeMillis() - time)); long time1 = System.currentTimeMillis(); StringBuilder builder1 = new StringBuilder(); for(int i=0;i<10000000;i++){ builder1.delete(0, builder.length()); builder1.append("a"); builder1.append("b"); builder1.append("c"); builder1.append("d"); builder1.append("e"); } System.out.println("delete 耗时:" + (System.currentTimeMillis() - time1)); long time2 = System.currentTimeMillis(); StringBuilder builder2 = new StringBuilder(); for(int i=0;i<10000000;i++){ builder2.setLength(0); builder2.append("1a"); builder2.append("1b"); builder2.append("1c"); builder2.append("1d"); builder2.append("1e"); } System.out.println("setLenth=0 耗时:" + (System.currentTimeMillis() - time2));
结果一:
new 耗时:485
delete 耗时:471
setLenth=0 耗时:385结果二:
new 耗时:621
delete 耗时:411
setLenth=0 耗时:423
总结
方法二和方法三耗时是差不多的,每次运行花费的时间是不一样的,目前没有去计算每一种方法所占用的资源分别是多少,这个代码还是运行别人的,突然发现被人的代码有问题,估计那个哥们基础不好,代码逻辑有问题,我就改了一下,不过还是感谢他,提供链接如下。
参考链接:博客链接
0 0
- java stringbuilder 清空问题
- java中StringBuilder清空效率比较
- StringBuilder清空
- 如何清空StringBuilder
- StringBuilder清空方式
- Java中StringBuilder的清空方法比较
- Java中StringBuilder的清空方法比较
- Java中StringBuilder的清空方法比…
- (转)Java中StringBuilder的清空方法比较
- Java中StringBuilder清空数据方法比较
- Java中StringBuilder的清空方法比较
- Java中StringBuilder清空数据方法比较
- 清空StringBuilder的内容
- 清空StringBuffer和StringBuilder
- java textfeild的清空问题
- StringBuffer和StringBuilder的清空操作
- StringBuilder重用 清空数据方法
- C# .NET如何清空stringbuilder
- maven+jetty多webapp配置(非cargo)
- java读取文件 返回字符串
- spring 配置文件中的占位符 使用 context:property-placeholder
- response.setContentType()的作用及参数
- 基于近场通信NFC安全技术西电捷通NEAU国际标准化分析
- java stringbuilder 清空问题
- C# LisC# List.ForEach方法结合匿名函数的便捷使用
- JSP中页面向Action传递参数的几种方式
- 倒计时计时器 + 一个TextView不同颜色混排
- HashCodeBuilder & EqualsBuilder 重写 hashCode() & equals()
- 获取ios设备信息的简要总结
- 一篇很全面的freemarker教程
- MySQL 字段的说明和备注信息
- 10 gradle 依赖第三方jar 包