溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Java StringBuffer和StringBuilder類

發(fā)布時(shí)間:2020-08-06 21:21:31 來(lái)源:ITPUB博客 閱讀:127 作者:as507169008 欄目:編程語(yǔ)言

Java StringBuffer和StringBuilder類

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

http://www.iis7.com/b/wzjk/

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

StringBuilder類在Java5中被提出,它和StringBuffer之間的最大不同在于StringBuilder的方法不是線程安全的(線程安全就是多線程訪問(wèn)時(shí),采用了加鎖機(jī)制,當(dāng)一個(gè)線程訪問(wèn)該類的某個(gè)數(shù)據(jù)時(shí),進(jìn)行保護(hù),其他線程不能進(jìn)行訪問(wèn)直到該線程讀取完,其他線程才可使用。不會(huì)出現(xiàn)數(shù)據(jù)不一致或者數(shù)據(jù)污染。線程不安全就是不提供數(shù)據(jù)訪問(wèn)保護(hù),有可能出現(xiàn)多個(gè)線程先后更改數(shù)據(jù)造成所得到的數(shù)據(jù)是臟數(shù)據(jù))。

由于StringBuilder相較于StringBuffer有速度優(yōu)勢(shì),所以多數(shù)情況下建議使用StringBuilder類。然而在應(yīng)用程序要求線程安全的情況下,則必須使用StringBuffer類。

。。。。。。

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       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)       返回最后一次出現(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ù)的字符串表示形式。


向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI