Rumah > Java > javaTutorial > Cara menggunakan StringBuffer dan StringBuilder di Java

Cara menggunakan StringBuffer dan StringBuilder di Java

王林
Lepaskan: 2023-06-02 15:01:18
ke hadapan
1401 orang telah melayarinya

Apabila mengubah suai rentetan, anda perlu menggunakan kelas StringBuffer dan StringBuilder. Berbeza daripada kelas String, objek kelas StringBuffer dan StringBuilder boleh diubah suai beberapa kali tanpa menghasilkan objek baru yang tidak digunakan .

Cara menggunakan StringBuffer dan StringBuilder di Java

StringBuffer: Apabila menggunakan kelas StringBuffer, objek StringBuffer itu sendiri akan dikendalikan setiap kali dan bukannya menjana objek baharu, jadi jika anda perlu Adalah disyorkan untuk menggunakan StringBuffer untuk mengubah suai rentetan.

StringBuilder: Kelas StringBuilder telah dicadangkan dalam Java 5. Perbezaan terbesar antaranya dan StringBuffer ialah kaedah StringBuilder tidak selamat untuk benang (tidak boleh diakses secara serentak). Memandangkan StringBuilder mempunyai kelebihan kelajuan berbanding StringBuffer, adalah disyorkan untuk menggunakan kelas StringBuilder dalam kebanyakan kes.

Contoh penggunaan StringBuilder:

public class RunoobTest{
    public static void main(String args[]){
        StringBuilder sb = new StringBuilder(10);
        sb.append("Runoob..");
        System.out.println(sb);  
        sb.append("!");
        System.out.println(sb); 
        sb.insert(8, "Java");
        System.out.println(sb); 
        sb.delete(5,8);
        System.out.println(sb);  
    }
}
// 实例编译运行结果如下:
// Runoob..
// Runoob..!
// Runoob..Java!
// RunooJava!
Salin selepas log masuk

Cara menggunakan StringBuffer dan StringBuilder di Java

Walau bagaimanapun, apabila aplikasi memerlukan keselamatan benang, kelas StringBuffer mesti digunakan. Contoh penggunaan StringBuffer:

public class Test {
    public static void main(String args[]) {
        StringBuffer sBuffer = new StringBuffer("稀土掘金:");
        sBuffer.append("www");
        sBuffer.append(".juejin");
        sBuffer.append(".cn");
        System.out.println(sBuffer);
    }
}

// 实例编译运行结果如下:
// 稀土掘金:www.juejin.cn
Salin selepas log masuk

Kaedah StringBuffer

Kaedah utama yang disokong oleh kelas StringBuffer:

序号方法描述
1public StringBuffer append(String s),将指定的字符串追加到此字符序列
2public StringBuffer reverse(), 将此字符序列用其反转形式取代
3public delete(int start, int end), 移除此序列的子字符串中的字符
4public insert(int offset, int i), 将 int 参数的字符串表示形式插入此序列中
5insert(int offset, String str) , 将 str 参数的字符串插入此序列中
6replace(int start, int end, String str) , 使用给定 String 中的字符替换此序列的子字符串中的字符

Kaedah biasa kelas StringBuffer yang lain:

序号方法描述
1int capacity(),返回当前容量
2char charAt(int index),返回此序列中指定索引处的 char 值
3void ensureCapacity(int minimumCapacity),确保容量至少等于指定的最小值
4void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin),将字符从此序列复制到目标字符数组 dst
5int indexOf(String str),返回第一次出现的指定子字符串在该字符串中的索引
6int indexOf(String str, int fromIndex),返从指定的索引处开始,返回第一次出现的指定子字符串在该字符串中的索引
7int lastIndexOf(String str),返回指定子字符串在此字符串中最后一次出现处的索引
8int lastIndexOf(String str, int fromIndex),返回指定字符在此字符串中最后一次出现处的索引,从指定的索引处开始进行反向搜索
9int length(),返回长度(字符数)
10void setCharAt(int index, char ch),将给定索引处的字符设置为 ch 参数的值
11void setLength(int newLength),设置字符序列的长度
12CharSequence subSequence(int start, int end),返回一个新的字符序列,该字符序列是此序列的子序列
13String substring(int start),返回一个新的 String,它包含此字符序列当前所包含的字符子序列
14String substring(int start, int end),返回一个新的 String,它包含此序列当前所包含的字符子序列
15String toString(),返回此序列中数据的字符串表示形式

Instance kaedah: color{red}{Instance kaedah:}Instance kaedah:

instance kaedah reverse():

public synchronized StringBuffer reverse()
Salin selepas log masuk

Penerangan :

Ganti urutan aksara ini dengan bentuk terbaliknya.

Parameter:

Tiada

Nilai pulangan: Bentuk terbalik bagi urutan aksara

.

rreeee

Atas ialah kandungan terperinci Cara menggunakan StringBuffer dan StringBuilder di Java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:yisu.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan