1. 程式人生 > 其它 >java常用類StringBuffer

java常用類StringBuffer

技術標籤:java

java常用類StringBuffer

由於String作為不可修改的物件,我們如果對字串進行拼接操作,每次拼接都會構建一個新的String物件,即耗時又浪費空間,而StringBuffer這個類可以解決此問題。
StringBuffer又稱為字串緩衝區,即就是一個容器,容器中可以裝很多字串,能夠對字串進行新增、刪除、替換等功能且不會產生新的未使用物件。

StringBuffer構造方法

public StringBuffer();   空參構造  構造一個其中不帶字元的字元緩衝區,初始容量為16個字元。
public StringBuffer(int capacity);  構造一個不帶字元,但具有指定初始容量的字元緩衝區。
public StringBuffer(String str);   構造一個字元緩衝區,並將其內容初始化為指定的字串內容。
StringBuffer中兩個統計長度方法:
public int capacity();  返回當前容量  理論值
public int length();  返回長度   實際值
public class MyTest {
    public static void main(String[] args) {
        StringBuffer sb = new StringBuffer();
        StringBuffer sb1 = new StringBuffer(1000);
        System.out.println(sb.capacity());
        System.out.println(sb1.capacity());
        StringBuffer sb2 = new StringBuffer("abc"
); System.out.println(sb2); } }
結果是

在這裡插入圖片描述

StringBuffer新增方法

StringBuffer新增功能:
public StringBuffer append(String str);      可以將任意型別資料新增到字串快取區,並返回字串緩衝區本身
public StringBuffer insert(int offset,String str);     在指定位置把任意型別的資料插入到字串緩衝區裡面,並返回字串緩衝區本身
public class MyTest {
    public static void main(String[
] args) { StringBuffer sb = new StringBuffer(); sb.append("abc"); System.out.println(sb); sb.insert(2,"def"); //字串的索引也和陣列一樣都是從左邊開始0開始 System.out.println(sb); } }
結果是

在這裡插入圖片描述

StringBuffer刪除方法

StringBuffer的刪除功能:
public StringBuffer deletChart(int index);     刪除指定位置的字元,並返回本身
public StringBuffer delet(int start,int end);     刪除從指定位置開始到指定位置結束的內容,並返回本身
public class MyTest {
    public static void main(String[] args) {
        StringBuffer sb = new StringBuffer("abcdefghijklmnopqrstuvwxyz");
        sb.deleteCharAt(3);
        System.out.println(sb);
        sb.delete(3,25);
        System.out.println(sb);
    }
}
結果是

在這裡插入圖片描述

StringBuffer替換和反轉方法

StringBuffer替換和反轉功能:
public StringBuffer replace(int start,int end,String str);    從start開始到end結束用指定的字串來替換。
public StringBuffer reverse();      字串反轉
public class MyTest {
    public static void main(String[] args) {
        String  str="愛java,愛生活";
        StringBuffer sb = new StringBuffer(str);
        sb.replace(6,9,"愛未來");
        System.out.println(sb);
        sb.reverse();
        System.out.println(sb);
    }
}
結果是

在這裡插入圖片描述

StringBuffer和String相互轉換

String型別轉換StringBuffer型別
1.構造方法
2.通過append方法
3.通過insert方法
StringBuffer型別轉換成String型別
1.使用substring方法
2.構造方法
3.通過toString方法
public class MyTest {
    public static void main(String[] args) {
        String str = "abc";
        //String------->StringBuffer
        StringBuffer sb = new StringBuffer(str);      //方式1
        StringBuffer sb2 = new StringBuffer().append(str);           //方式2
        StringBuffer sb3 = new StringBuffer().insert(0, str);        //方式3
        //StringBuffer------>String
        StringBuffer sb4 = new StringBuffer("hahaha");
        String s = new String(sb4);              //方式1
        String s2 = sb4.substring(0);              //方式2
        String s3 = sb4.toString();               //方式3
    }
}