1. 程式人生 > >關與JavaString,StringBuilder,StringBuffer的區別

關與JavaString,StringBuilder,StringBuffer的區別

String,StringBuilder,StringBuffer

1.String:字串常量,是不可變物件,每次對String型別進行改變都等同於生成了一個新的String物件,速度慢. 適用於少量字串操作的情況.

2.StringBuffer:字串變數,它的物件是可以擴充和修改的其中很多方法有synchronized關鍵字,是執行緒安全的可變字元序列,速度較快.適用於多執行緒下在字元緩衝區進行大量操作的情況

3.StringBuilder,JDK1.5之後推出的與StringBuffer相容的API,用作StringBuffer的一個簡單替換,單個執行緒使用時,建議優先採用,它比StringBuffer速度要快.適用於多執行緒下載字元緩衝區進行大量操作的情況.

package String;
/**
 * 由於String的設計不適合頻繁修改,對此Java提供一個
 * 用於編輯字串內容的類:StringBuilder
 * StringBulider內部維護了一個可變的字元陣列,不會每次
 * 修改都來建立物件,從而降低資源開銷,提高執行效率.
 * 其提供了方便編輯字串內容的相關方法,包含
 * 曾刪改插等常見操作
 * @author Administrator
 */
public class StringBuilderDemo {
               public static void main(String[] args) {
                               String str="好好學習java";
                               /*
                                * 常見構造方法:
                                * StringBuild():無參,預設表示空字串
                                * StringBulid(String str):表示給定內容
                                */
                               StringBuilder bu=new StringBuilder(str);
                               /*
                                * 好好學習
                                * 好好學習,找工作
                                * append():向當前字串末尾追加給定內容
                                */
                    bu.append(",找工作");
                    String s=bu.toString();
                    System.out.println(s);
               }