Seperti obyek kelas String, obyek kelas StringBuffer bersifat kekal (immutable) artinya nilai string yang tersimpan di obyek kelas StringBuffer tidak dapat diubah. Namun demikian, kemampuan kelas StringBuffer untuk menampung jumlah karakter ditentukan oleh kapasitasnya (capacity). Bila jumlah karakter yang tersimpan di obyek StringBuffer melampaui kapasitas, secara otomatis kapasitasnya bertambah untuk menampung karater baru.
1. Konstruktor kelas StringBuffer.
Kelas StringBuffer mempunyai tiga konstruktor. Anda dapat mengkonstruksi obyek kelas StringBuffer menggunakan salah satu dari tiga konstruktor berikut ini. Berikut ini adalah tabel konstruktor kelas StringBuffer di Java:
Tabel Konstruktor Kelas StringBuffer
Konstruktor | Keterangan |
---|---|
StringBuffer() | Mengkonstrusi buffer string kosong (tanpa karakter). |
StringBuffer(int length) | Mengkontruksi buffer string kosong (tanpa karakter) dengan kapasitas ditentukan oleh parameter length. |
StringBuffer(String str) | Mengkonstruksi buffer string dengan parameter string. |
2. Metoda kelas StringBuffer.
Berikut ini adalah tabel beberapa metoda kelas StringBuffer yang sering digunakan di program untuk memodifikasi isi dari obyek kelas StringBuffer:
Tabel Metoda Kelas StringBuffer
Konstruktor | Keterangan |
---|---|
append(char[] data) | Menambah larik karakter ke dalam buffer string. |
append(String str) | Menambah string ke dalam buffer string. |
delete(int startIndex, int endindex) | Menghapus karakter dimulai dari startIndex sampai endIndex. |
deleteChartAt(int index) | Menghapus sebuah karakter di indek yang telah ditetapkan. |
insert(int offset, char[] data) | Menyisipkan larik karakter ke dalam buffer di posisi offset. |
insert(int offset, String str) | Menyisipkan string str ke dalam buffer di posisi offset. |
replace(int startIndex, int endIndex, String str) | Mengganti karakter di dalam buffer dimulai dari startIndex sampai endIndex dengan string yang telah ditetapkan. |
setCharAt(int index, char chr) | Mengganti karakter lama yang posisinya ditentukan oleh index dengan karakter chr. |
charAt(int index) | Mengembalikan karakter indek yang telah ditentukan. |
capacity() | Mengembalikan kapasitas dari buffer string. |
reverse() | Membalik karakter di dalam buffer. |
Berikut ini adalah contoh program Java membuat atau mengkonstruksi obyek string kelas StringBuffer menggunakan ketiga konstruktor yang terdapat di tabel konstruktor kelas StringBuffer.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | // Nama file : KonstruktorStringBuffer.java // Menggunakan konstruktor dari kelas StringBuffer // Deklarasi Kelas public class KonstruktorStringBuffer { // Metoda main public static void main(String[] args) { StringBuffer strBuff1 = new StringBuffer(); StringBuffer strBuff2 = new StringBuffer(60); StringBuffer strBuff3 = new StringBuffer("Selamat malam"); System.out.println(); System.out.println("strBuff1 = " + strBuff1); System.out.println("strBuff2 = " + strBuff2); System.out.println("strBuff3 = " + strBuff3); } } |
Dari kode program di atas, baris nomor 10 adalah variabel acuan strBuff1 yang mengacu ke obyek kelas StringBuffer yang dibuat menggunakan konstruktor pertama tanpa parameter. Baris nomor 11 adalah variabel acuan strBuff2 yang mengacu ke obyek kelas StringBuffer yang dibuat menggunakan kontruktor kedua dengan argumen parameter length diberi nilai int 60.
Baris nomor 12 adalah variabel acuan strBuff3 yang mengacu ke obyek kelas StringBuffer yang dibuat menggunakan kontruktor ketiga dengan argumen parameter string diberi nilai string “Selamat malam”.
Penggunaan variabel acuan strBuff1, strBuff2 dan strBuff3 di pernyataan baris nomor 15 - 17 secara internal sama dengan panggilan ke metoda toString kelas Object oleh masing-masing variabel acuan tersebut. Sebagai contoh, pernyataan baris nomor 15 - 17 dapat ditulis ulang sebagai berikut:
System.out.println("strBuff1 = " + strBuff1.toString()); System.out.println("strBuff2 = " + strBuff2.toString()); System.out.println("strBuff3 = " + strBuff3.toString());