1. 程式人生 > >String,StringBuffer,StringBuilder聯絡,區別

String,StringBuffer,StringBuilder聯絡,區別

三者的不同點: 看原始碼可以發現String類使用字元陣列來儲存字串,陣列是final修飾的,也沒有insert() append()delete()這些方法,String物件是一個常量 /** The value is used for character storage. */ private final char value[];
StringBuffer,StringBuilder物件都是變數,都有insert() append()delete()這些方法 StringBuffer,StringBuilder共同點
: 都繼承了AbstractStringBuilder這個抽象類。在抽象類中定義了一些子類的公共方法,子類只需要新增新的功能就可以了,不需要重寫已經存在的方法。 StringBuffer,StringBuilder不同點: 1)StringBuffer中的方法有synchronized關鍵字修飾,加上了同步鎖,因此是執行緒安全的。而StringBuilde的方法沒有加synchronized不是執行緒安全的。 2)由於StringBuffer中的方法有同步鎖,多以效率低一些,在單執行緒的時候,還是沒有同步鎖的StringBuilder效率高一些。