1.三者在執行速度方面的比較:
StringBuilder > StringBuffer > String
4.StringBuilder與 StringBuffer
StringBuilder:線程非安全的
StringBuffer:線程安全的
1
String和StringBuffer
String類對象不可變,StringBuffer類是可以通過Append()來修改值,一旦修改String的值就是隱形的重建了一個新的對象,釋放了原String對象。
2
String 性能比不上StringBuffer
字符串連接String的+比StringBuffer的Append()性能差了很多
String:
是對象不是原始類型.
為不可變對象,一旦被創建,就不能修改它的值.
對於已經存在的String對象的修改都是重新創建一個新的對象,然后把新的值保存進去.
String 是final類,即不能被繼承.
StringBuffer:
是一個可變對象,當對他進行修改的時候不會像String那樣重新建立對象
它只能通過構造函數來建立,
StringBuffer sb = new StringBuffer();
注意:不能通過賦值符號對他進行賦值.
sb = "welcome to here!";//error
對象被建立以后,在內存中就會分配內存空間,並初始保存一個null.向StringBuffer
中賦值的時候可以通過它的append方法.
sb.append("hello");
字符串連接操作中StringBuffer的效率要比String高: