zoukankan      html  css  js  c++  java
  • StringBuffer清空

    转载自:http://blog.sina.com.cn/s/blog_56fd58ab0100qfcz.html

    在开发程序的时候,经常使用StringBuffer来进行字符串的拼接。如果在循环中来反复的做字符串拼接时,会清空Stringbuffer中的内容,然后再拼接新的字符串信息。

    例如:

    StringBuffer sb = new StringBuffer("");

    for (UserInfo ui : userInfoList) {

        sb = new StringBuffer("");

        sb.append("姓名:");

        sb.append(ui.getName());

        sb.append("  ");

        sb.append("年龄:");

        sb.append(ui.getAge());

        System.out.println(sb.toString());

    }

    在循环中使用sb = new StringBuffer("");来清空sb中的信息。

    StringBuffer提供了以下连个方法:

    1、delete(int start, int end)
              移除此序列的子字符串中的字符

    2、setLength(int newLength)
              设置字符序列的长度。

    测试程序:

       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));
           }
    结果:

    StringBuffer-setLength:63
    StringBuffer--delete:109
    StringBuffer--new StringBuffer:78

    结论:

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

  • 相关阅读:
    npm install 卡住的时候的处理
    建立ionic3的环境
    [转] PuTTY + Xming 远程使用 Linux GUI
    Oracle 11g 记录DML错误数据
    [转] 深入浅出 妙用Javascript中apply、call、bind
    [转] Java运行时动态生成class的方法
    获取Java class或者jar文件的本地路径
    AngularJS 中ng-model通过$watch动态取值
    [转] Everything about custom filters in AngularJS
    [转] 利用js实现 禁用浏览器后退
  • 原文地址:https://www.cnblogs.com/ixixi/p/9475967.html
Copyright © 2011-2022 走看看