Home » Java » Java String (2): StringBuffer dan StringBuilder

Java String (2): StringBuffer dan StringBuilder

by Bagus Dharma Iswara
by Bagus Dharma Iswara

Di java, penggabungan string membentuk string baru yang merupakan gabungan dari beberapa string. Ada dua cara untuk menggabungkan string di java yaitu

  1. Dengan metode + (penggabungan string) operator.
  2. Dengan metode concat ().

Metode + (penggabungan string) operator.

Operator penggabungan string Java (+) digunakan untuk menambahkan string. Sebagai contohnya yaitu dengan kode

class TestStringConcatenation1{  
 public static void main(String args[]){  
   String s="Sachin"+" Tendulkar";  
   System.out.println(s);//Sachin Tendulkar  
 }  
}  //outputnya adalah Sachin Tendulkar

Di java, penggabungan String diimplementasikan melalui kelas StringBuilder (atau StringBuffer) dan metode appendnya. Operator penggabungan string menghasilkan string baru dengan menambahkan operan kedua ke akhir operan pertama. Operator penggabungan string dapat menggabungkan tidak hanya string tetapi juga nilai primitif. Sebagai contohnya yaitu

class TestStringConcatenation2{  
 public static void main(String args[]){  
   String s=50+30+"Sachin"+40+40;  
   System.out.println(s);//80Sachin4040  
 }  
}  //outputnya adalah 80Sachin4040

metode concat ()

Metode String concat () menggabungkan string yang ditentukan pada akhir string saat ini. kemudian contohnya dapat dilihat pada kode berikut

class TestStringConcatenation3{  
 public static void main(String args[]){  
   String s1="Sachin ";  
   String s2="Tendulkar";  
   String s3=s1.concat(s2);  
   System.out.println(s3);//Sachin Tendulkar  
  }  
}  //outputnya adalah : Sachin Tendulkar

Substring di Java

Bagian dari string disebut substring. Dengan kata lain, substring adalah bagian dari string lain. Jika substring startIndex bersifat inklusif dan endIndex bersifat eksklusif. Anda bisa mendapatkan substring dari objek string yang diberikan dengan salah satu dari dua metode berikut:

  1. public String substring (int startIndex): Metode ini mengembalikan objek String baru yang berisi substring dari string yang diberikan dari startIndex yang ditentukan (inklusif).
  2. public String substring (int startIndex, int endIndex): Metode ini mengembalikan objek String baru yang berisi substring dari string yang diberikan dari startIndex yang ditentukan ke endIndex.

Metode Kelas String di Java

Kelas java.lang.String menyediakan banyak metode untuk bekerja pada string. Dengan bantuan metode ini, kita dapat melakukan operasi pada string seperti pemangkasan, penggabungan, konversi, perbandingan, penggantian string, dan lainnya. Java String adalah konsep yang kuat karena semuanya diperlakukan sebagai string jika Anda mengirimkan formulir apa pun dalam aplikasi berbasis jendela, berbasis web, atau seluler.

Mari kita lihat metode penting dari kelas String berikut ini

  • Java String toUpperCase() and toLowerCase() method, yaitu pada Metode java string toUpperCase () mengubah string ini menjadi huruf besar dan metode string toLowerCase () menjadi huruf kecil.
  • Java String trim() method yaitu pada Metode trim () string menghilangkan spasi putih sebelum dan sesudah string.
  • Java String startsWith() and endsWith() method yaitu pengecekan pada contoh string berikut misalkan : String s=”Sachin”;  akan true jika menggunkana s.startsWith(“Sa”) dan s.endsWith(“n”).
  • Java String charAt() method yaitu pada Metode string charAt () mengembalikan karakter pada indeks yang ditentukan.
  • Java String length() method yaitu pada Metode panjang string () mengembalikan panjang string.
  • Java String intern() method yaitu Kumpulan string, awalnya kosong, dikelola secara pribadi oleh kelas String. Ketika metode intern dipanggil, jika pool sudah berisi string yang sama dengan objek String ini seperti yang ditentukan oleh metode equals (Object), maka string dari pool dikembalikan. Jika tidak, objek String ini akan ditambahkan ke kolam dan referensi ke objek String ini dikembalikan.
  • Java String valueOf() method yaitu pada Metode string valueOf () mencakup tipe yang diberikan seperti int, long, float, double, boolean, char dan char array ke dalam string.
  • Java String replace() method yaitu pada Metode string replace () menggantikan semua kemunculan urutan karakter pertama dengan urutan karakter kedua.

Kelas StringBuffer di Java

Kelas StringBuffer Java digunakan untuk membuat string yang bisa berubah (dapat dimodifikasi). Kelas StringBuffer di java sama dengan kelas String kecuali itu bisa berubah yaitu bisa diubah.

Constructor yang penting pada Stringbuffer yaitu

  1. StringBuffer () membuat buffer string kosong dengan kapasitas awal 16.
  2. StringBuffer (String str) membuat buffer string dengan string yang ditentukan.
  3. StringBuffer (int capacity) membuat buffer string kosong dengan kapasitas yang ditentukan sebagai panjang.

Metode yang penting pada Stringbuffer yaitu bisa dilihat pada tabel berikut

Modifier dan TipeMetodeDeskripsi
public synchronized StringBufferappend(String s)
digunakan untuk menambahkan string yang ditentukan dengan string ini.
public synchronized StringBuffer
insert(int offset, String s)
digunakan untuk memasukkan string yang ditentukan dengan string ini pada posisi yang ditentukan.
public synchronized StringBuffer
replace(int startIndex, int endIndex, String str)
digunakan untuk menggantikan string dari startIndex dan endIndex ditentukan.
public synchronized StringBuffer
delete(int startIndex, int endIndex)
digunakan untuk menghapus string dari startIndex dan endIndex tertentu.
public synchronized StringBuffer
reverse()
digunakan untuk membalikkan string.
public int
capacity()
digunakan untuk mengembalikan kapasitas saat ini.
public void
ensureCapacity(int minimumCapacity)
digunakan untuk memastikan kapasitas setidaknya sama dengan minimum yang diberikan.
public char
charAt(int index)
digunakan untuk mengembalikan karakter pada posisi yang ditentukan.
public int
length()
digunakan untuk mengembalikan panjang string yaitu jumlah total karakter
public String
substring(int beginIndex)
digunakan untuk mengembalikan substring dari beginIndex yang ditentukan.
public String
substring(int beginIndex, int endIndex)
digunakan untuk mengembalikan substring dari beginIndex dan endIndex yang ditentukan.

Apa itu String Mutable ?

Sebuah string yang dapat dimodifikasi atau diubah dikenal sebagai string yang bisa berubah. Kelas StringBuffer dan StringBuilder digunakan untuk membuat string yang bisa berubah.

  1. StringBuffer append() method yaitu pada Metode append () menggabungkan argumen yang diberikan dengan string ini.
  2. StringBuffer insert() method yaitu pada Metode insert () menyisipkan string yang diberikan dengan string ini pada posisi yang ditentukan.
  3. StringBuffer replace() method yaitu pada Metode replace () menggantikan string yang diberikan dari beginIndex dan endIndex yang ditentukan.
  4. StringBuffer delete() method yaitu pada Metode delete () dari kelas StringBuffer menghapus string dari beginIndex yang ditentukan ke endIndex.
  5. StringBuffer reverse() method yaitu pada Metode reverse () dari kelas StringBuilder membalikkan string saat ini.
  6. StringBuffer capacity() method yaitu pada Metode capacity () dari kelas StringBuffer mengembalikan kapasitas buffer saat ini. Kapasitas default buffer adalah 16. Jika jumlah karakter meningkat dari kapasitasnya saat ini, ia meningkatkan kapasitas sebesar (oldcapacity * 2) +2. Misalnya jika kapasitas Anda saat ini 16, maka akan menjadi (16 * 2) + 2 = 34.
  7. StringBuffer ensureCapacity() method yaitu pada Metode sureCapacity () dari kelas StringBuffer memastikan bahwa kapasitas yang diberikan adalah yang minimum untuk kapasitas saat ini. Jika lebih besar dari kapasitas saat ini, itu meningkatkan kapasitas sebesar (oldcapacity * 2) +2. Misalnya jika kapasitas Anda saat ini 16, maka akan menjadi (16 * 2) + 2 = 34.

Kelas StringBuilder di Java

Kelas StringBuilder Java digunakan untuk membuat string yang bisa berubah (dapat dimodifikasi). Kelas StringBuilder Java sama dengan kelas StringBuffer kecuali kelas itu tidak disinkronkan. Ini tersedia sejak JDK 1.5.

Constructor yang penting pada Stringbuilder yaitu

  1. StringBuilder() yaitu membuat Builder string kosong dengan kapasitas awal 16.
  2. StringBuilder(String str) yaitu membuat Builder string kosong dengan String yang spesifik.
  3. StringBuilder(int length) yaitu membuat Builder string kosong dengan kapasitas yang ditentukan sebagai panjang.

Metode yang penting pada Stringbuilder yaitu bisa dilihat pada tabel berikut

MetodeDeskripsi
public StringBuilder append (String s)digunakan untuk menambahkan string yang ditentukan dengan string ini.
public StringBuilder insert(int offset, String s)
digunakan untuk memasukkan string yang ditentukan dengan string ini pada posisi yang ditentukan
public StringBuilder replace(int startIndex, int endIndex, String str)
digunakan untuk menggantikan string dari startIndex dan endIndex yang ditentukan.
public StringBuilder delete(int startIndex, int endIndex)
digunakan untuk menghapus string dari startIndex dan endIndex yang ditentukan.
public StringBuilder reverse()
digunakan untuk membalikkan string.
public int capacity()
digunakan untuk mengembalikan kapasitas saat ini.
public void ensureCapacity(int minimumCapacity)
digunakan untuk memastikan kapasitas setidaknya sama dengan minimum yang diberikan.
public char charAt(int index)
digunakan untuk mengembalikan karakter pada posisi yang ditentukan.
public int length()
digunakan untuk mengembalikan panjang string yaitu jumlah karakter.
public String substring(int beginIndex)
digunakan untuk mengembalikan substring dari beginIndex yang ditentukan.
public String substring(int beginIndex, int endIndex)
digunakan untuk mengembalikan substring dari beginIndex dan endIndex yang ditentukan.
  1. StringBuilder append() method yaitu pada Metode StringBuilder append () menggabungkan argumen yang diberikan dengan string ini.
  2. StringBuilder insert() method yaitu pada Metode insert () StringBuilder menyisipkan string yang diberikan dengan string ini pada posisi tertentu.
  3. StringBuilder replace() method yaitu pada Metode StringBuilder replace () menggantikan string yang diberikan dari beginIndex dan endIndex yang ditentukan.
  4. StringBuilder delete() method yaitu pada Metode delete () dari kelas StringBuilder menghapus string dari beginIndex yang ditentukan ke endIndex.
  5. StringBuilder reverse() method yaitu pada Metode reverse () dari kelas StringBuilder membalikkan string saat ini.
  6. StringBuilder capacity() method yaitu pada Metode capacity () dari kelas StringBuilder mengembalikan kapasitas Builder saat ini. Kapasitas default dari Builder adalah 16. Jika jumlah karakter meningkat dari kapasitasnya saat ini, kapasitas tersebut akan meningkat sebesar (oldcapacity * 2) +2. Misalnya jika kapasitas Anda saat ini 16, maka akan menjadi (16 * 2) + 2 = 34.
  7. StringBuilder ensureCapacity() method yaitu pada Metode sureCapacity () dari kelas StringBuilder memastikan bahwa kapasitas yang diberikan adalah yang minimum untuk kapasitas saat ini. Jika lebih besar dari kapasitas saat ini, itu meningkatkan kapasitas sebesar (oldcapacity * 2) +2. Misalnya jika kapasitas Anda saat ini 16, maka akan menjadi (16 * 2) + 2 = 34.

Perbedaan Antara String dan StringBuffer

Ada banyak perbedaan antara String dan StringBuffer. Daftar perbedaan antara String dan StringBuffer diberikan di bawah ini yaitu

  • Kelas string tidak dapat diubah sedangkan Kelas StringBuffer bisa berubah.
  • String lambat dan menghabiskan lebih banyak memori ketika Anda menggabungkan terlalu banyak string karena setiap kali itu membuat instance baru sedangkan StringBuffer cepat dan menggunakan lebih sedikit memori saat Anda dapat mencatat string.
  • Kelas string mengesampingkan metode equals () dari kelas Object. Jadi Anda bisa membandingkan isi dari dua string dengan metode equals ( ) sedangkan Kelas StringBuffer tidak menimpa metode equals () dari kelas Object.

Perbedaan Antara StringBuffer dan StringBuilder

Java menyediakan tiga kelas untuk merepresentasikan urutan karakter: String, StringBuffer, dan StringBuilder. Kelas String adalah kelas yang tidak berubah sedangkan kelas StringBuffer dan StringBuilder bisa berubah. Ada banyak perbedaan antara StringBuffer dan StringBuilder. Kelas StringBuilder diperkenalkan sejak JDK 1.5.

Daftar perbedaan antara StringBuffer dan StringBuilder diberikan di bawah ini yaitu

  • StringBuffer disinkronkan, aman untuk thread. Ini berarti dua utas tidak dapat memanggil metode StringBuffer secara bersamaan sedangkan StringBuilder tidak tersinkronisasi, yaitu tidak aman untuk thread. Ini berarti dua utas dapat memanggil metode StringBuilder secara bersamaan.
  • StringBuffer kurang efisien dibandingkan StringBuilder sedangkan StringBuilder lebih efisien daripada StringBuffer.

You may also like