String : 字符串常量 安全
StringBuffer : 線程安全的字符串變量多線程
StringBuilder : 非線程安全的字符串變量app
String 類型,String是不可變對象,對String對象的每一次賦值,都是先生成一個新的String對象,而後將原對象指針指向新的String對象,因此每次對String對象賦值都會對性能產生影響。性能
StringBuffer類型,每次對StringBuffer對象執行操做,是對改對象自己操做,而不會生成新的對象,因此在對字符串頻繁執行改變操做的時候建議使用StringBuffer.ui
String str = "1"+"2"+"3"+"4"+"5"+"6"; 此狀況建議使用String線程
String str1 = "1";指針
String str2 = "2";對象
String str3 = "3";字符串
String str4 = "4";同步
String str = str1+str2+str3+str4; 此狀況建議使用StringBuffer,
StringBuffer buffer= new StringBuilder();
buffer.append("1");
buffer.append("2");
buffer.append("3");
buffer.append("4");
StringBuffer線程安全的可變字符序列,可安全地用於多線程。
StringBuilder 能夠看做是 StringBuffer 的一個特例,用法相同,多在單線程中使用來處理字符串操做(非線程同步),StringBuilder性能要比StringBuffer快。