Java StringBuffer 和 StringBuilder 類

java stringbuffer 和 stringbuilder 類

當(dāng)對(duì)字符串進(jìn)行修改的時(shí)候,需要使用 stringbuffer 和 stringbuilder 類。

和 string 類不同的是,stringbuffer 和 stringbuilder 類的對(duì)象能夠被多次的修改,并且不產(chǎn)生新的未使用對(duì)象。

在使用 stringbuffer 類時(shí),每次都會(huì)對(duì) stringbuffer 對(duì)象本身進(jìn)行操作,而不是生成新的對(duì)象,所以如果需要對(duì)字符串進(jìn)行修改推薦使用 stringbuffer。

stringbuilder 和 stringbuffer 之間的最大不同在于 stringbuilder 的方法不是線程安全的。

由于 stringbuilder 比 stringbuffer 有速度優(yōu)勢(shì),所以多數(shù)情況下建議使用 stringbuilder 類。

 

1. stringbuilder 類的范例

public class test{
    public static void main(string args[]){
        stringbuilder sb = new stringbuilder(10);
        sb.append("yapf");
        system.out.println(sb);  
        sb.append("!");
        system.out.println(sb); 
        sb.insert(9, " java");
        system.out.println(sb); 
        sb.delete(4,9);
        system.out.println(sb);  
    }
}

以上范例編譯運(yùn)行結(jié)果如下:

yapf
yapf!
yapf java!
code java!

 

2. stringbuffer 類的范例

在應(yīng)用程序要求線程安全的情況下,必須使用 stringbuffer 類。

public class test{
  public static void main(string args[]){
    stringbuffer sbuffer = new stringbuffer("碩編程官網(wǎng):");
    sbuffer.append("www");
    sbuffer.append(".yapf");
    sbuffer.append(".com");
    system.out.println(sbuffer);  
  }
}

以上范例編譯運(yùn)行結(jié)果如下:

碩編程官網(wǎng):www.slktour.com

 

3. stringbuffer 方法

以下是 stringbuffer 類支持的主要方法:

序號(hào) 方法描述
1 public stringbuffer append(string s)
將指定的字符串追加到此字符序列。
2 public stringbuffer reverse()
?將此字符序列用其反轉(zhuǎn)形式取代。
3 public delete(int start, int end)
移除此序列的子字符串中的字符。
4 public insert(int offset, int i)
將 int 參數(shù)的字符串表示形式插入此序列中。
5 insert(int offset, string str)
將 str 參數(shù)的字符串插入此序列中。
6 replace(int start, int end, string str)
使用給定 string 中的字符替換此序列的子字符串中的字符。

下面的列表里的方法和 string 類的方法類似:

序號(hào) 方法描述
1 int capacity()
返回當(dāng)前容量。
2 char charat(int index)
返回此序列中指定索引處的 char 值。
3 void ensurecapacity(int minimumcapacity)
確保容量至少等于指定的最小值。
4 void getchars(int srcbegin, int srcend, char[] dst, int dstbegin)
將字符從此序列復(fù)制到目標(biāo)字符數(shù)組 dst。
5 int indexof(string str)
返回第一次出現(xiàn)的指定子字符串在該字符串中的索引。
6 int indexof(string str, int fromindex)
從指定的索引處開始,返回第一次出現(xiàn)的指定子字符串在該字符串中的索引。
7 int lastindexof(string str)
返回最右邊出現(xiàn)的指定子字符串在此字符串中的索引。
8 int lastindexof(string str, int fromindex)
返回 string 對(duì)象中子字符串最后出現(xiàn)的位置。
9 int length()
?返回長(zhǎng)度(字符數(shù))。
10 void setcharat(int index, char ch)
將給定索引處的字符設(shè)置為 ch。
11 void setlength(int newlength)
設(shè)置字符序列的長(zhǎng)度。
12 charsequence subsequence(int start, int end)
返回一個(gè)新的字符序列,該字符序列是此序列的子序列。
13 string substring(int start)
返回一個(gè)新的 string,它包含此字符序列當(dāng)前所包含的字符子序列。
14 string substring(int start, int end)
返回一個(gè)新的 string,它包含此序列當(dāng)前所包含的字符子序列。
15 string tostring()
返回此序列中數(shù)據(jù)的字符串表示形式。

下一節(jié):java 數(shù)組

java語(yǔ)言 教程

相關(guān)文章
亚洲国产精品第一区二区,久久免费视频77,99V久久综合狠狠综合久久,国产免费久久九九免费视频