美文网首页
java系列12:lang包:StringBuffer、Stri

java系列12:lang包:StringBuffer、Stri

作者: 3e1094b2ef7b | 来源:发表于2017-06-11 19:39 被阅读0次

    一、StringBuffer

    1、声明

    // 创建空字符串
    StringBuffer sb = new StringBuffer();
    // 创建一个变量存储字符串aaa
    StringBuffer sb = new StringBuffer("aaa");
    

    2、使用

    sb.toString(); // 转化为String类型
    sb.append("***");  // 追加字符串
    

    二、StringBuilder

    1、常用构造方法

    2、常用方法

    三、比较

    • String长度不可变
    • StringBuffer和StringBuilder长度可变
    • StringBuffer线程安全,StringBuilder线程不安全(不能同步访问)
    • StringBuilder比StringBuffer速度快(多数情况下建议使用 StringBuilder 类。然而在应用程序要求线程安全的情况下,则必须使用 StringBuffer 类。)

    例1:String与StringBuffer拼接耗时比较

    public class TestStringBuffer {
        public static void main(String[] args) {
        
            String a = "";
            long stringStart = System.currentTimeMillis();
            for (int i = 0; i < 100000; i++) {
                 a += i;
            }
            long stringEnd = System.currentTimeMillis();
            long sum = stringEnd - stringStart;
            System.out.println("String拼接耗费的时间:" + sum);
        
            StringBuffer sb = new StringBuffer("");
            System.out.println(sb.toString());
            long stringbufferStart = System.currentTimeMillis();
            for (int i = 0; i < 100000; i++) {
                 sb.append(i);
            }
            long stringbufferEnd = System.currentTimeMillis();
            long sumbuffer = stringbufferEnd - stringbufferStart;
            System.out.println("StringBuffer拼接耗费的时间:"+sumbuffer);
        }
    }
    
    运行结果

    相关文章

      网友评论

          本文标题:java系列12:lang包:StringBuffer、Stri

          本文链接:https://www.haomeiwen.com/subject/qldvfxtx.html