Mengenal StringBuffer dan StringBuilder

Ketika kita banyak melakukan perubahan pada suatu object String, ada baiknya untuk beralih menggunakan StringBuffer atau StringBuider. Pemakaian object dengan type StringBuilder dan StringBuffer akan mengurangi penggunaan object String yang tidak diperlukan.

StringBuilder dan StringBuffer memiliki sifat yang tidak jauh berbeda dengan String biasa. Hanya saja dengan menggunakan object ini kita dapat melakukan modifikasi String object dengan lebih mudah. Bisa dikatakan bahwa StringBuilder dan StringBuffer merupakan suatu array dari character dimana setiap titik, panjang, maupun kontennya dapat diubah dengan method tertentu.

Adapun perbedaan StringBuilder dan StringBuffer terletak pada kemampuan multi threadnya. StringBuilder tidak mendukung thread safe. Thread safe yang saya maksud disini adalah suatu function yang synchronized, atau membutuhkan jawaban dari server. Misalnya untuk mengambil beberapa data dari database. Sangat dianjurkan untuk menggunakan StringBuilder apabila memungkinkan. Hal itu karena StringBuilder memiliki proses yang lebih cepat dibandingkan dengan StringBuffer. Namun apabila proses yang ada membutuhkan thread safety, maka sebaiknya menggunakan StringBuffer.

Berikut ini contoh sederhana penggunaan StringBuffer:


public class KenalStringBuffer {

public static void main (String[]args) {
String hiString = "Im string";

StringBuffer newSB = new StringBuffer();
newSB.append("saya StringBuffer 1 ");
newSB.append(hiString);

System.out.println("isi newSB : " + newSB.toString());
System.out.println("length newSB : " + newSB.length());
}
}

adapun outputnya yaitu:

isi newSB : saya StringBuffer 1 Im string
length newSB : 29

masih ada banyak method yang bisa digunakan untuk mengolah StringBuffer dan StringBuilder. Anda dapat melihat dokumentasinya pada link berikut ini:

StringBuffer StringBuilder

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s