Memahami Class StringBuffer Pada Java

Class StringBuffer adalah class yang terdapat pada package java.lang dan digunakan untuk membuat objek string mutable dan tidak seperti class String yang immutable.

StringBuffer dapat berubah secara dinamis. StringBuffer lebih dianjurkan untuk digunakan ketika memerlukan banyak operasi pada string, seperti menambahkan, memasukkan, menghapus atau memodifikasi string.

StringBuffer juga thread safe.

StringBuffer merupakan urutan dari karakter-karakter yang dapat diubah dengan bantuan dari berbagai method yang dimiliki oleh class tersebut.

Namun sebelumnya, untuk mengingat kembali dengan mudah mengapa String itu immutable, lihat baris kode berikut:

Output:
Belajar Java

Mengapa hasil tidak menampilkan “Belajar Java Itu Menyenangkan”? Karena String adalah immutable.

Dan ini sebenarnya yang terjadi pada kode di atas:

immutable string pada Java

Pada gambar di atas, dua objek ternyata telah dibuat. Namun, variabel referensi string ternyata masih mengacu ke “Belajar Java”, tidak mengacu ke “Belajar Java Itu Menyenangkan”.

Sekarang coba perhatikan baris kode berikut:

Output:
Belajar Java Itu Menyenangkan

Mengapa outputnya sekarang berbeda dengan output kode pertama?

Hal ini karena secara eksplisit objek “Belajar Java Itu Menyenangkan” telah ditetapkan pada variabel string (lihat baris kode nomor 5 di atas).

Perbedaan StringBuffer Dan String

Berikut ini adalah perbedaan mendasar antara StringBuffer dan String yang perlu untuk diketahui:

No StringBuffer String
1 Class mutable Class immutable
2 StringBuffer lebih cepat dan lebih sedikit mengkonsumsi memori ketika melakukan
concat atau perangkaian String.
String mengkonsumsi lebih banyak memori
dan lebih lambat ketika melakukan concat atau
merangkaikan String. Karena setiap
kali hal itu dilakukan,maka instance baru akan di buat.
3 Class StringBuffer tidak meng-override
method equals() dari class Object.
Dapat membandingkan konten
dari dua String dengan method equals().
Karena class String meng-override method equals() tersebut dari class Object.

Constructor

Terdapat 4 konstruktor untuk class StringBuffer yaitu:

  • StringBuffer ( )
  • StringBuffer (int size)
  • StringBuffer (String str)
  • StringBuffer (charSequence [ ]ch)

 

Method-method Penting Pada Class StringBuffer

Berikut ini adalah beberapa method penting dari class StringBuffer yang sering digunakan:

No Method Penjelasan
1 append() Merangkaikan argumen yang diberikan
dengan string terkait
2 insert() Memasukkan string yang diberikan pada
suatu string diposisi tertentu
3 reverse() Membalikkan string
4 replace() Mengganti string dari beginIndex dan
endIndex tertentu
5 capacity() Mengembalikan nilai kapasitas string. Nilai
default adalah 16. Jika jumlah karakter bertambah
dari kapasitas lama, maka nilai kapasitas yang baru
adalah (nilai kapasitas lama * 2) + 2. Jadi misalkan
nilai kapasitas adalah 16, maka setelah penambahan
karakter nilai kapasitas menjadi (16 * 2) + 2 = 34
6 ensureCapacity() Memastikan bahwa kapasitas yang diberikan adalah
sekurang-kurangnya sama dengan spesifikasi minimum.
Jika kapasitas argumen lebih besar dibandingkan dengan
kapasitas saat ini, maka kapasitas akan meningkat
dengan (nilai kapasitas lama * 2) + 2.
Sebagai contoh, jika nilai kapasitas saat ini adalah 16,
maka akan menjadi (16 * 2) + 2 = 34.
7 delete() Menghapus string dari beginIndex (indeks awal) yang
ditentukan sampai dengan endIndex (indeks akhir) yang
ditentukan.

Contoh Penggunaan Method append(), insert(), replace(), dan reverse() Pada StringBuffer


Output:

Contoh menggunakan method capacity() dan ensureCapacity()


Output:

Be the first to comment

Leave a Reply

Your email address will not be published.


*