• 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对象中的内容效率最高。

  • 相关阅读:
    接口详解
    可空类型
    初学泛型
    结构和类
    触发器
    学习C#异常处理机制
    静飘移
    《Hashtable(散列表)》 集合
    自定义集合类
    Automation伺服程式無法産生物件
  • 原文地址:https://www.cnblogs.com/ixixi/p/9475967.html
Copyright © 2020-2023  润新知