Java StringBuilder類原理及常用方法
這篇文章主要介紹了Java StringBuilder類原理及常用方法,文中通過示例程式碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
StringBuilder類的由來
由於String類的物件內容不可改變(底層是一個被final修飾的陣列),所以每當我們進行字串拼接時,總是會在記憶體中建立一個新的物件。如果對字串進行拼接操作,每次拼接,都會構建一個新的String物件,既耗時,又浪費空間。為了解決這一問題,我們可以使用java.lang.StringBuilder類。
StringBuilder的簡介
查閱 java.lang.StringBuilder 的API,StringBuilder又稱為可變字元序列,它是一個類似於 String 的字串緩衝區,通過某些方法呼叫可以改變該序列的長度和內容。原來StringBuilder是個字串的緩衝區,即它是一個容器,容器中可以裝很多字串。並且能夠對其中的字串進行各種操作。它的內部擁有一個數組用來存放字串內容,進行字串拼接時,直接在陣列中加入新內容。StringBuilder會自動維護陣列的擴容(預設16字元空間,超過自動擴充)。
常用構造方法有2個:
public StringBuilder():構造一個空的StringBuilder容器。
public StringBuilder(String str):構造一個StringBuilder容器,並將字串新增進去。
StringBuilder常用的方法有2個:
public StringBuilder append(...):新增任意型別資料的字串形式,並返回當前物件自身。任何資料作為引數都會將對應的字串內容新增到StringBuilder中。
package demo06; public class Demo01StringBuilder { public static void main(String[] args) { //建立StringBuilder物件 StringBuilder bu = new StringBuilder(); //使用append方法往StringBuilder中新增資料,可以新增任意型別的資料 /* 鏈式程式設計:方法返回值是一個物件,可以繼續呼叫方法 */ bu.append("abc").append(1).append(true).append(8.8).append('中'); System.out.println(bu);//abc1true8.8中 } }
public String toString()`:將當前StringBuilder物件轉換為String物件。
package demo06; public class Demo02StringBuilder { /* StringBuilder和String可以相互轉換: String->StringBuilder:可以使用StringBuilder的構造方法 StringBuilder(String str) 構造一個字串生成器,並初始化為指定的字串內容。 StringBuilder->String:可以使用StringBuilder中的toString方法 public String toString():將當前StringBuilder物件轉換為String物件。 */ public static void main(String[] args) { //String->StringBuilder String str = "hello"; StringBuilder bu = new StringBuilder(str); //往StringBuilder中新增資料 bu.append("world"); System.out.println("StringBuilder:" + bu); //StringBuilder->String String s = bu.toString(); System.out.println("字串:" + s); } }
程式碼執行後的結果
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。