1. 程式人生 > 程式設計 >Java StringBuilder類原理及常用方法

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);
  }
}

程式碼執行後的結果

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。