天天看點

Java中String,StringBuilder,StringBuffer三者的差別這三個類之間的差別主要是在兩個方面,即運作速度和線程安全這兩方面。

這三個類之間的差別主要是在兩個方面,即運作速度和線程安全這兩方面。

  1. 首先說運作速度,或者說是執行速度,在這方面運作速度快慢為:StringBuilder > StringBuffer > String  

String最慢的原因:

String為字元串常量,而StringBuilder和StringBuffer均為字元串變量,即String對象一旦建立之後該對象是不可更改的,但後兩者的對象是變量,是可以更改的。

2. 再來說線程安全

線上程安全上,StringBuilder是線程不安全的,而StringBuffer是線程安全的

3. 總結一下

String:适用于少量的字元串操作的情況

StringBuilder:适用于單線程下在字元緩沖區進行大量操作的情況

StringBuffer:适用多線程下在字元緩沖區進行大量操作的情況