一兆沙、StringBuffer
1、聲明
// 創(chuàng)建空字符串
StringBuffer sb = new StringBuffer();
// 創(chuàng)建一個(gè)變量存儲(chǔ)字符串a(chǎn)aa
StringBuffer sb = new StringBuffer("aaa");
2莉掂、使用
sb.toString(); // 轉(zhuǎn)化為String類型
sb.append("***"); // 追加字符串
二葛圃、StringBuilder
1、常用構(gòu)造方法
2、常用方法
三装悲、比較
- String長(zhǎng)度不可變
- StringBuffer和StringBuilder長(zhǎng)度可變
- StringBuffer線程安全昏鹃,StringBuilder線程不安全(不能同步訪問)
- StringBuilder比StringBuffer速度快(多數(shù)情況下建議使用 StringBuilder 類。然而在應(yīng)用程序要求線程安全的情況下诀诊,則必須使用 StringBuffer 類洞渤。)
例1:String與StringBuffer拼接耗時(shí)比較
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拼接耗費(fèi)的時(shí)間:" + 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拼接耗費(fèi)的時(shí)間:"+sumbuffer);
}
}
運(yùn)行結(jié)果