這三個類之間的差別主要是在兩個方面,即運作速度和線程安全這兩方面。
- 首先說運作速度,或者說是執行速度,在這方面運作速度快慢為:StringBuilder > StringBuffer > String
String最慢的原因:
String為字元串常量,而StringBuilder和StringBuffer均為字元串變量,即String對象一旦建立之後該對象是不可更改的,但後兩者的對象是變量,是可以更改的。
2. 再來說線程安全
線上程安全上,StringBuilder是線程不安全的,而StringBuffer是線程安全的
3. 總結一下
String:适用于少量的字元串操作的情況
StringBuilder:适用于單線程下在字元緩沖區進行大量操作的情況
StringBuffer:适用多線程下在字元緩沖區進行大量操作的情況