1. Mengubah suai rentetan
Di Jawa, rentetan ialah objek yang tidak boleh diubah. Ini dilakukan untuk menjadikan kelas String sangat dioptimumkan dan membolehkannya digunakan di mana-mana sahaja. Contohnya, hanya jenis tidak berubah disyorkan untuk digunakan sebagai kunci dalam koleksi HashMap .
Walau bagaimanapun, situasi sering timbul apabila pengaturcara akan mendapati ia lebih mudah untuk String
kelas boleh berubah. Mereka mahukan kelas yang tidak mencipta subrentetan baharu setiap kali salah satu kaedahnya dipanggil.
Baiklah, katakan kita mempunyai rentetan yang sangat besar dan kita perlu kerap menambahkan sesuatu pada penghujungnya. Dalam kes ini, walaupun koleksi aksara ( ArrayList<Character>
) boleh menjadi lebih cekap daripada sentiasa mencipta semula dan menggabungkan objek String.
Itulah sebabnya jenis seperti String yang boleh diubah telah ditambahkan pada bahasa Java. Ia dipanggil StringBuilder
.
Mencipta objek
Untuk mencipta StringBuilder
objek berdasarkan rentetan sedia ada, anda perlu melaksanakan pernyataan seperti:
StringBuilder name = new StringBuilder(string);
Untuk mencipta rentetan boleh ubah kosong, anda perlu menggunakan pernyataan seperti ini:
StringBuilder name = new StringBuilder();
Senarai kaedah
Kelas ini StringBuilder
mempunyai dua dozen kaedah yang berguna. Berikut adalah yang paling penting:
Kaedah | Penerangan |
---|---|
|
Menukar objek yang diluluskan kepada rentetan dan menambahkannya pada rentetan semasa |
|
Menukar objek yang diluluskan kepada rentetan dan memasukkannya ke dalam rentetan semasa |
|
Menggantikan bahagian rentetan yang ditentukan oleh selang permulaan..akhir dengan rentetan yang diluluskan |
|
Mengalih keluar aksara dengan indeks yang ditentukan daripada rentetan |
|
Mengalih keluar aksara dalam selang yang ditentukan daripada rentetan |
|
Mencari subrentetan dalam rentetan semasa |
|
Mencari subrentetan dalam rentetan semasa, bermula dari penghujung |
|
Mengembalikan aksara dalam rentetan pada indeks yang diluluskan |
|
Mengembalikan subrentetan yang ditakrifkan oleh selang waktu yang ditentukan |
|
Membalikkan rentetan semasa. |
|
Menukar aksara pada indeks yang ditentukan kepada aksara yang diluluskan |
|
Mengembalikan panjang rentetan dalam aksara |
Berikut adalah penerangan ringkas bagi setiap kaedah
2. Penerangan kaedah:
Melampirkan pada rentetan
Untuk menambah sesuatu pada rentetan boleh ubah ( StringBuilder
), gunakan append()
kaedah tersebut. Contoh:
Kod | Penerangan |
---|---|
|
|
Menukar kepada rentetan standard
Untuk menukar StringBuilder
objek kepada objek String, anda hanya perlu memanggil kaedahnya toString()
. Contoh
Kod | Pengeluaran |
---|---|
|
|
Bagaimanakah saya memadamkan aksara?
Untuk memadamkan aksara dalam rentetan boleh ubah, anda perlu menggunakan deleteCharAt()
kaedah tersebut. Contoh:
Kod | Pengeluaran |
---|---|
|
|
Bagaimanakah saya menggantikan sebahagian daripada rentetan dengan rentetan lain?
Untuk ini ada kaedahnya replace(int begin, int end, String str)
. Contoh:
Kod | Pengeluaran |
---|---|
|
|
3. Contoh berguna bekerja dengan rentetan
Bagaimanakah cara saya membalikkan rentetan?
Terdapat kaedah khas untuk melakukan ini — reverse()
; Contoh:
Kod | Pengeluaran |
---|---|
|
|
StringBuffer
kelas
Terdapat satu lagi kelas - StringBuffer, yang merupakan analog kelas StringBuilder
, tetapi kaedahnya ditandakan dengan synchronized
pengubah suai. Ini bermakna StringBuffer
objek boleh diakses secara serentak daripada berbilang benang.
Tetapi ia jauh lebih perlahan daripada StringBuilder
. Anda mungkin memerlukan kelas ini apabila anda mula meneroka secara aktif multithreading dalam pencarian Java Multithreading .