美文网首页
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