几种方法:

  1. 方法1:

    1
    2
    3
    4
    StringBuffer my_StringBuffer = new StringBuffer();
    my_StringBuffer.append('helloworld');    //添加字符串到StringBuffer中
    int  sb_length = my_StringBuffer.length();// 取得字符串的长度
    my_StringBuffer.delete(0,sb_length);    //删除字符串从0~sb_length-1处的内容 (这个方法就是用来清除StringBuffer中的内容的)
  2. 方法2:

    1
    my_StringBuffer.setLength(0);           //设置StringBuffer变量的长度为0
  3. 方法3:也是我以前一直用的

    1
    my_StringBuffer = new StringBuffer()

几种方法的效率:

测试程序:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
private static void testStringBufferclear() {
     StringBuffer sbf = new  StringBuffer("wwwwww");
     StringBuffer sbi = new  StringBuffer("wwwwww");
     long s1 = System.currentTimeMillis();
     for (int i = 0; i < 500000; i++) {
      sbi.setLength(0);
     }
     long s11 = System.currentTimeMillis();
     System.out.println("StringBuffer-setLength:" + (s11 - s1));
     s1 = System.currentTimeMillis();
     for (int i = 0; i < 500000; i++) {
      sbf.delete(0, sbf.length());
     }
     s11 = System.currentTimeMillis();
     System.out.println("StringBuffer--delete:" + (s11 - s1));
     s1 = System.currentTimeMillis();
     for (int i = 0; i < 500000; i++) {
      sbf = new StringBuffer("");
     }
     s11 = System.currentTimeMillis();
     System.out.println("StringBuffer--new StringBuffer:" + (s11 - s1));
    }

测试结果:

1
2
3
StringBuffer-setLength:63
StringBuffer--delete:109
StringBuffer--new StringBuffer:78

测试结论:

要通过使用sbi.setLength(0);来清空StringBuffer对象中的内容效率最高

StringBuffer 清空的更多相关文章

  1. StringBuffer 清空StringBuffer的实例的三种方法

    @Test public void testStringbuffer(){ //StringBuffer类没有clear方法,不过可以通过下面两种方法来清空一个StringBuffer的实例: Str ...

  2. StringBuffer清空

    转载自:http://blog.sina.com.cn/s/blog_56fd58ab0100qfcz.html 在开发程序的时候,经常使用StringBuffer来进行字符串的拼接.如果在循环中来反 ...

  3. Java基础总结--IO总结2

    1.键盘录入--Java具有特定的对象封装这些输入输出设备在System类定义 in-InputStream类型和out-PrintStream类型成员变量阻塞是方法:read()无数据就阻塞wind ...

  4. java使用itex读取pdf,并搜索关键字,为其盖章

    导读:近期要做一个根据关键字定位pdf的盖章位置的相关需求,其中关键字可配置多个(包含pdf文档中可能不存在的关键字),当页面显示盖章完成时,打开pdf显示已经损坏. 排查后发现,当itext搜索的关 ...

  5. AES采用CBC模式128bit加密工具类

    写在前面 安全测试ECB模式过于简单需要改为CBC模式加密以下为工具类及测试 AESUtils.java package com.sgcc.mobile.utils; import sun.misc. ...

  6. 正则表达式从入门到放弃「Java」

    正则表达式能做什么? 正则表达式可以用来搜索.编辑或处理文本. 「都懂它可以处理文本,可到底是怎么回事?」 正则表达式的定义 百度百科:正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特 ...

  7. [java,2017-05-16] java中清空StringBuffer的方法以及耗费时间比较

    java中清空StringBuffer的方法,我能想到的有4种: 1. buffer.setLength(0);  设置长度为0 2. buffer.delete(0, buffer.length() ...

  8. StringBuffer中delete与setLength清空字符串效率比较

    问题: StringBuffer中有delete.setLength两个方法可以快速清空字符数组.哪个效率高呢? 结论:从清空字符串角度看,两者效率都很高,比较来看,setLength效率更高. 分析 ...

  9. Java基础之String、StringBuffer、StringBuilder

    1:String类:字符串(重点) (1)多个字符组成的一个序列,叫字符串. 生活中很多数据的描述都采用的是字符串的.而且我们还会对其进行操作. 所以,java就提供了这样的一个类供我们使用. (2) ...

随机推荐

  1. SQL多行变一列

    CREATE TABLE DEPT (DeptNo INT IDENTITY(1, 1)NOT NULL ,  Country VARCHAR(50) ,  Location VARCHAR(50) ...

  2. 3D U-Net卷积神经网络

    3D U-Net这篇论文的诞生主要是为了处理一些块状图(volumetric images),基本的原理跟U-Net其实并无大差,因为3D U-Net就是用3D卷积操作替换了2D的,不过在这篇博文中我 ...

  3. Linux下vsftp匿名用户配置

    Linux下vsftp匿名用户上传和下载的配置 配置要注意三部分,请一一仔细对照: 1.vsftpd.conf文件的配置(vi /etc/vsftpd/vsftpd.conf) #允许匿名用户登录FT ...

  4. ACM基础算法入门及题目列表

    对于刚进入大学的计算机类同学来说,算法与程序设计竞赛算是不错的选择,因为我们每天都在解决问题,锻炼着解决问题的能力. 这里以TZOJ题目为例,如果为其他平台题目我会标注出来,同时我的主页也欢迎大家去访 ...

  5. 团队项目-第六次Scrum 会议

    时间:11.1 时长:30分钟 地点:F楼2层沙发休息处 工作情况 团队成员 已完成任务 待完成任务 解小锐 完成员工信息的简单初始化 学习cocos creator样例 陈鑫 完成CurrentPr ...

  6. ThreadPoolExecutor源码解析

    LZ目前正在做一个批量生成报表的系统,需要定时批量生成多张报表,便考虑使用线程池来完成.JDK自带的Executors工具类只提供创建固定线程和可伸展但无上限的两个静态方法,并不能满足LZ想自定制线程 ...

  7. 设计模式之单例模式与工厂模式的Python实现(二)

    2. 工厂模式 工厂模式是创建型设计模式的一种.核心的思想是,通过传递给类或函数某种产品的信息来创建产品并返回.当我们想得到产品a对象,只需把产品a的名字传递给工厂函数就能得到产品a对象.而核心思想的 ...

  8. OpenNI2安装

    1.Openni2:从官网下载linux用zip压缩包,解压再解压2.终端转到解压目录下,找到install.sh文件,执行$sudo ./install.sh 3.执行后,生成OpenNIDevEn ...

  9. Python之多线程:线程互斥与线程同步

    一.锁在多线程中的使用:线程互斥 lock = threading.Lock()#创建一个锁对象 1.with lock: pass 和进程使用的方式相同   2.控制线程结束的时间 通过一个全局变量 ...

  10. H-1-B签证简介

    H 1-B签证简介 H 1-B签证是美国雇主为外籍高级技术人员申请的一种工作签证,有效期为3年,可在到期后再延长6年.每年新的配额是6.5万人,另外还有2万个名额是留给在美国获得高级学位(硕士以上学位 ...