Java StringBuffer


Apabila mengubah suai rentetan, anda perlu menggunakan kelas StringBuffer dan StringBuilder.

Tidak seperti kelas String, objek kelas StringBuffer dan StringBuilder boleh diubah suai beberapa kali tanpa menghasilkan objek baru yang tidak digunakan.

Kelas StringBuilder telah dicadangkan dalam Java 5. Perbezaan terbesar antaranya dan StringBuffer ialah kaedah StringBuilder tidak selamat untuk benang (tidak boleh diakses secara serentak).

Memandangkan StringBuilder mempunyai kelebihan kelajuan berbanding StringBuffer, adalah disyorkan untuk menggunakan kelas StringBuilder dalam kebanyakan kes. Walau bagaimanapun, apabila aplikasi memerlukan keselamatan benang, kelas StringBuffer mesti digunakan.

Instance

public class Test{

    public static void main(String args[]){
       StringBuffer sBuffer = new StringBuffer(" test");
       sBuffer.append(" String Buffer");
       System.out.println(sBuffer);  
   }
}

Hasil penyusunan dan larian contoh di atas adalah seperti berikut:

test String Buffer

Kaedah StringBuffer

Berikut adalah kaedah utama yang disokong oleh kelas StringBuffer:

              Nombor siri             Penerangan kaedah
                1                 tambah StringBuffer awam(String s)
                    序号                    方法描述
                    1                    public StringBuffer append(String s)
将指定的字符串追加到此字符序列。
                    2                    public StringBuffer reverse()
 将此字符序列用其反转形式取代。
                    3                    public delete(int start, int end)
移除此序列的子字符串中的字符。
                    4                    public insert(int offset, int i)
int 参数的字符串表示形式插入此序列中。
                    5                    replace(int start, int end, String str)
使用给定 String 中的字符替换此序列的子字符串中的字符。
Menambah rentetan yang ditentukan pada jujukan aksara ini.
                  2                 awam StringBuffer reverse()<🎜> Menggantikan urutan aksara ini dengan bentuk terbaliknya.
                  3                 padam awam(int mula, int akhir)<🎜> Mengalih keluar aksara daripada subrentetan urutan ini.
                  4                 sisipan awam(int offset, int i)<🎜> Memasukkan perwakilan rentetan bagi argumen int ke dalam urutan ini.
                  5                 ganti(int mula, int akhir, String str)<🎜> Menggantikan aksara dalam subrentetan urutan ini dengan aksara dalam String yang diberikan.

Kaedah dalam senarai berikut adalah serupa dengan kaedah kelas String:

Nombor siri               Penerangan Kaedah
1               kapasiti int()
Mengembalikan kapasiti semasa.
2                 char charAt(int index)
Mengembalikan nilai char pada indeks yang ditentukan dalam urutan ini.
3                 void ensureCapacity(int minimumCapacity)
Pastikan kapasiti sekurang-kurangnya sama dengan minimum yang ditetapkan.
4                 void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin)
Menyalin aksara daripada jujukan ini kepada tatasusunan aksara sasaran dst.
5                 int indexOf(String str)
Mengembalikan indeks dalam rentetan kejadian pertama subrentetan yang ditentukan.
6                 int indexOf(String str, int fromIndex)
Bermula pada indeks yang ditentukan, mengembalikan indeks kejadian pertama subrentetan yang ditentukan dalam rentetan.
7               int lastIndexOf(String str)
Mengembalikan indeks dalam rentetan ini kejadian paling kanan subrentetan yang ditentukan.
8                 int lastIndexOf(String str, int fromIndex)
Mengembalikan indeks dalam rentetan ini kejadian terakhir bagi subrentetan yang ditentukan.
9                 int length()
Mengembalikan panjang (bilangan aksara).
10                 void setCharAt(int index, char ch)
Tetapkan aksara pada indeks yang diberikan kepada ch.
11                 void setLength(int newLength)
Tetapkan panjang jujukan aksara.
12                 CharSequence subSequence(int mula, int akhir)
Mengembalikan urutan aksara baharu yang merupakan susulan daripada jujukan ini.
13                 Subrentetan rentetan(int mula)
Mengembalikan String baharu yang mengandungi jujukan aksara yang kini terkandung dalam jujukan aksara ini.
14               Subrentetan rentetan(int mula, int akhir)
Mengembalikan String baharu yang mengandungi urutan aksara yang kini terkandung dalam urutan ini.
15                 Rentetan keString()
Mengembalikan perwakilan rentetan data dalam urutan ini.