Class StringBuilder digunakan untuk membuat objek string yang mutable sama seperti class StringBuffer. Namun perbedaan utamanya terletak pada sinkronisasasi, sehingga StringBuilder ini tidak thread safe karena tidak disinkronisasi.
Urutan, panjang dan konten dari StringBuilder dapat diubah dengan pemanggilan dan menggunakan method-methodnya.
Dalam implementasinya, StringBuilder lebih cepat jika dibandingkan dengan StringBuffer. Namun, penggunaannya juga harus tepat, yaitu digunakan pada thread tunggal dengan objek string yang mutable. Bila dibutuhkan sinkronisasi dan mutable, maka sebaiknya digunakan StringBuffer.

Constructor Pada StringBuffer
- StringBuilder(): Mengkonstruksi suatu string builder tanpa ada karakter di dalamnya dan dengan suatu kapasitas inisial 16 karakter.
- StringBuilder(int capacity): Mengkonstruksi suatu string builder tanpa ada karakter di dalamnya dan kapasitas inisial ditentukan oleh argumen yang diberikan.
- StringBuilder(String str): Mengkonstruksi suatu string builder dengan string yang ditentukan. Kapasitas inisialnya adalah 16 karakter dan ditambah dengan panjang dari argumen string yang diberikan.
Method Penting Pada StringBuilder
Berikut ini adalah beberapa mehod penting dari class StringBuilder:
Method | Penjelasan |
---|---|
String toString() | Mengembalikan objek String dari string builder |
int capacity() | Mengembalikan kapasitas dari string builder |
charAt(int index): char | Mengembalikan karakter pada index tertentu |
int length() | Mengembalikan jumlah dari karakter |
void setLength(int newLength) | Mengatur nilai length yang baru |
String substring(int start) | Mengembalikan substring dimulai dari start Index |
String substring(int start, int end) | Mengembalikan substring dari startIndex sampai endIndex -1 |
void trimToSize() | Mengurangi ukuran penyimpanan dari string builder |
StringBuilder append(String s) | Method ini digunakan untuk menambahkan string yang ditentukan. Method append() overloading diantaranya adalah append (char), append (boolean), append (int), append (float), append (double) dan lainnya. |
StringBuilder insert(int offset, String s) | Digunakan untuk menyisipkan string yang ditentukan pada posisi yang yang ditetapkan. Metode insert() overloading diantaranya adalah insert(int, char), insert(int, boolean), insert (int, int), insert(int, float), insert(int, double) dan sebagainya. |
StringBuilder replace(int startIndex, int endIndex, String str) | Digunakan untuk mengganti string dari startIndex dan endIndex tertentu |
StringBuilder reverse() | Digunakan untuk membalikkan string |
StringBuilder delete(int start, int end) | Untuk menghilangkan urutan karakter, method lainnya adalah StringBuilder deleteCharAt(int index) untuk menghapus karakter pada index tertentu |
void ensureCapacity(int minimumCapacity) | Memastikan bahwa kapasitas sekurang-kuranngnya equal dengan minimum yang ditentukan |
Contoh:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 |
public class Test_StringBuilder { public static void main (String args []){ /** Membuat objek StringBuilder*/ StringBuilder stringBuilder = new StringBuilder("Java"); System.out.println("string adalah: n"+ stringBuilder); System.out.println(); /** Kapasitas string **/ System.out.println("Kapasitas string adalah: n"+ stringBuilder.capacity()); System.out.println(); /** menggabungkan string */ stringBuilder.append(" Populer"); System.out.println("string digabungkan dengan " + ""Populer" menjadi: n" + stringBuilder); System.out.println(); /** memasukkan string */ stringBuilder.insert(5, "Adalah Bahasa Pemrograman Yang "); System.out.println("Memasukkan string pada indeks 5 dengan " + "" Adalah Bahasa Pemrograman Yang" menjadi: n" + stringBuilder); System.out.println(); /**Mengembalikan substring pada indeks tertentu */ System.out.println("Substring pada indeks 12 sampai 29 adalah: n" + stringBuilder.substring(12, 30)); System.out.println(); /** mengganti string */ stringBuilder.replace(12,18, "Salah Satu Nama Bahasa"); System.out.println("Mengganti string " + "mulai dari indeks 12 sampai 18 dengan "Salah Satu Nama Bahasa " menjadi: n" + stringBuilder); System.out.println(); /**Menghapus karakter string pada indeks tertentu */ stringBuilder.delete(5,28); System.out.println("Menghapus karakter " + "dari indeks 5 sampai 27 menjadi: n" + stringBuilder); System.out.println(); /**Menggunakan ensure capacity*/ System.out.println("Kapasitas string" + " "Java Bahasa Pemrograman Yang Populer" " + "adalah n" + stringBuilder.capacity()); stringBuilder.append(" Untuk Dipelajari"); System.out.println("string digabungkan dengan " + "" Untuk Dipelajari" " + "menjadi: n" + stringBuilder); System.out.println("ensureCapacity 100"); stringBuilder.ensureCapacity(100); System.out.println("Kapasitas sekarang adalah: "+ stringBuilder.capacity()); } } |
Output:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
string adalah: Java Kapasitas string adalah: 20 string digabungkan dengan "Populer" menjadi: Java Populer Memasukkan string pada indeks 5 dengan " Adalah Bahasa Pemrograman Yang" menjadi: Java Adalah Bahasa Pemrograman Yang Populer Substring pada indeks 12 sampai 29 adalah: Bahasa Pemrograman Mengganti string mulai dari indeks 12 sampai 18 dengan "Salah Satu Nama Bahasa " menjadi: Java Adalah Salah Satu Nama Bahasa Pemrograman Yang Populer Menghapus karakter dari indeks 5 sampai 27 menjadi: Java Bahasa Pemrograman Yang Populer Kapasitas string "Java Bahasa Pemrograman Yang Populer" adalah 88 string digabungkan dengan " Untuk Dipelajari" menjadi: Java Bahasa Pemrograman Yang Populer Untuk Dipelajari ensureCapacity 100 Kapasitas sekarang adalah: 178 |
Leave a Reply