新聞中心
StringBuffer

創(chuàng)新互聯(lián)公司專注于蒼南企業(yè)網(wǎng)站建設(shè),成都響應(yīng)式網(wǎng)站建設(shè)公司,商城網(wǎng)站建設(shè)。蒼南網(wǎng)站建設(shè)公司,為蒼南等地區(qū)提供建站服務(wù)。全流程按需規(guī)劃網(wǎng)站,專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,創(chuàng)新互聯(lián)公司專業(yè)和態(tài)度為您提供的服務(wù)
java.lang.Object
|---java.lang.StringBuffer
public final class StringBuffer
extends Object
implements Appendable, CharSequence, Serializable一個(gè)線程安全的、可變的字符序列。字符串緩沖區(qū)類似于字符串,但可以修改。在任何時(shí)候它都包含一些特定的字符序列,但是序列的長(zhǎng)度和內(nèi)容可以通過(guò)某些方法調(diào)用來(lái)改變。
字符串緩沖區(qū)可以安全地被多個(gè)線程使用。這些方法在必要時(shí)同步,以便任何特定實(shí)例上的所有操作都表現(xiàn)得好像它們以某種串行順序發(fā)生,該順序與所涉及的每個(gè)單獨(dú)線程進(jìn)行的方法調(diào)用的順序一致。
StringBuffer 上的主要操作是 append 和 insert 方法,它們被重載以便接受任何類型的數(shù)據(jù)。每個(gè)都有效地將給定的數(shù)據(jù)轉(zhuǎn)換為字符串,然后將該字符串的字符附加或插入到字符串緩沖區(qū)。 append 方法總是將這些字符添加到緩沖區(qū)的末尾; insert 方法在指定點(diǎn)添加字符。
例如,如果 z 引用當(dāng)前內(nèi)容為“start”的字符串緩沖區(qū)對(duì)象,則方法調(diào)用 z.append(“l(fā)e”) 將導(dǎo)致字符串緩沖區(qū)包含“startle”,而 z.insert(4, " le") 將更改字符串緩沖區(qū)以包含“starlet”。
一般來(lái)說(shuō),如果 sb 引用一個(gè) StringBuffer 的實(shí)例,那么 sb.append(x) 與 sb.insert(sb.length(), x) 具有相同的效果。
每當(dāng)發(fā)生涉及源序列的操作(例如從源序列追加或插入)時(shí),此類僅在執(zhí)行操作的字符串緩沖區(qū)上同步,而不在源上同步。請(qǐng)注意,雖然 StringBuffer 旨在安全地從多個(gè)線程同時(shí)使用,但如果向構(gòu)造函數(shù)或追加或插入操作傳遞了跨線程共享的源序列,則調(diào)用代碼必須確保該操作具有一致且不變的視圖操作期間的源序列。這可以通過(guò)在操作調(diào)用期間持有鎖的調(diào)用者來(lái)滿足,通過(guò)使用不可變的源序列,或者不跨線程共享源序列。
每個(gè)字符串緩沖區(qū)都有一個(gè)容量。只要字符串緩沖區(qū)包含的字符序列的長(zhǎng)度不超過(guò)容量,就不需要分配新的內(nèi)部緩沖區(qū)數(shù)組。如果內(nèi)部緩沖區(qū)溢出,它會(huì)自動(dòng)變大。
除非另有說(shuō)明,否則將 null 參數(shù)傳遞給此類中的構(gòu)造函數(shù)或方法將導(dǎo)致拋出 NullPointerException。
從 JDK 5 開(kāi)始,該類已經(jīng)補(bǔ)充了一個(gè)為單線程使用而設(shè)計(jì)的等效類 StringBuilder。通常應(yīng)優(yōu)先使用 StringBuilder 類,因?yàn)樗С炙邢嗤牟僮鳎俣雀?,因?yàn)樗粓?zhí)行同步。
構(gòu)造函數(shù)總結(jié)
| 構(gòu)造函數(shù) | 描述 |
|---|---|
| StringBuffer() | 構(gòu)造一個(gè)字符串緩沖區(qū),其中沒(méi)有字符,初始容量為 16 個(gè)字符。 |
| StringBuffer(int capacity) | 構(gòu)造一個(gè)沒(méi)有字符且具有指定初始容量的字符串緩沖區(qū)。 |
| StringBuffer(CharSequence seq) | 構(gòu)造一個(gè)字符串緩沖區(qū),該緩沖區(qū)包含與指定 CharSequence 相同的字符。 |
| StringBuffer(String str) | 構(gòu)造一個(gè)字符串緩沖區(qū),初始化為指定字符串的內(nèi)容。 |
方法總結(jié)
| 修飾符和類型 | 方法 | 描述 |
|---|---|---|
| StringBuffer | append(boolean b) | |
| StringBuffer | append(char c) | 將指定的字符附加到此 Appendable。 |
| StringBuffer | append(char[] str) | |
| StringBuffer | append(char[] str, int offset, int len) | |
| StringBuffer | append(double d) | |
| StringBuffer | append(float f) | |
| StringBuffer | append(int i) | |
| StringBuffer | append(long lng) | |
| StringBuffer | append(CharSequence s) | 將指定的 CharSequence 附加到此序列。 |
| StringBuffer | append(CharSequence s, int start, int end) | 將指定字符序列的子序列附加到此 Appendable。 |
| StringBuffer | append(Object obj) | |
| StringBuffer | append(String str) | |
| StringBuffer | append(StringBuffer sb) | 將指定的 StringBuffer 附加到此序列。 |
| StringBuffer | appendCodePoint(int codePoint) | |
| int | capacity() | |
| char | charAt(int index) | 返回指定索引處的 char 值。 |
| int | codePointAt(int index) | |
| int | codePointBefore(int index) | |
| int | codePointCount(int beginIndex, int endIndex) | |
| StringBuffer | delete(int start, int end) | |
| StringBuffer | deleteCharAt(int index) | |
| void | ensureCapacity(int minimumCapacity) | |
| void | getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin) | |
| int | indexOf(String str) | |
| int | indexOf(String str, int fromIndex) | |
| StringBuffer | insert(int offset, boolean b) | |
| StringBuffer | insert(int offset, char c) | |
| StringBuffer | insert(int offset, char[] str) | |
| StringBuffer | insert(int index, char[] str, int offset, int len) | |
| StringBuffer | insert(int offset, double d) | |
| StringBuffer | insert(int offset, float f) | |
| StringBuffer | insert(int offset, int i) | |
| StringBuffer | insert(int offset, long l) | |
| StringBuffer | insert(int dstOffset, CharSequence s) | |
| StringBuffer | insert(int dstOffset, CharSequence s, int start, int end) | |
| StringBuffer | insert(int offset, Object obj) | |
| StringBuffer | insert(int offset, String str) | |
| int | lastIndexOf(String str) | |
| int | lastIndexOf(String str, int fromIndex) | |
| int | length() | 返回此字符序列的長(zhǎng)度。 |
| int | offsetByCodePoints(int index, int codePointOffset) | |
| StringBuffer | replace(int start, int end, String str) | |
| StringBuffer | reverse() | |
| void | setCharAt(int index, char ch) | |
| void | setLength(int newLength) | |
| CharSequence | subSequence(int start, int end) | 返回作為此序列子序列的 CharSequence。 |
| String | substring(int start) | |
| String | substring(int start, int end) | |
| String | toString() | 返回對(duì)象的字符串表示形式。 |
| void | trimToSize() |
| 從接口 java.lang.CharSequence 繼承的方法 |
|---|
| chars, codePoints |
| 從類 java.lang.Object 繼承的方法 |
|---|
| clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
構(gòu)造函數(shù)詳細(xì)信息
StringBuffer
public StringBuffer()
構(gòu)造一個(gè)字符串緩沖區(qū),其中沒(méi)有字符,初始容量為 16 個(gè)字符。
StringBuffer
public StringBuffer(int capacity)
構(gòu)造一個(gè)沒(méi)有字符且具有指定初始容量的字符串緩沖區(qū)。
參數(shù):
| 參數(shù)名稱 | 參數(shù)描述 |
|---|---|
| capacity | 初始容量。 |
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| NegativeArraySizeException | 如果容量參數(shù)小于 0。 |
StringBuffer
public StringBuffer(String str)
構(gòu)造一個(gè)字符串緩沖區(qū),初始化為指定字符串的內(nèi)容。 字符串緩沖區(qū)的初始容量是 16 加上字符串參數(shù)的長(zhǎng)度。
參數(shù):
| 參數(shù)名稱 | 參數(shù)描述 |
|---|---|
| str | 緩沖區(qū)的初始內(nèi)容。 |
StringBuffer
public StringBuffer(CharSequence seq)
構(gòu)造一個(gè)字符串緩沖區(qū),該緩沖區(qū)包含與指定 CharSequence 相同的字符。 字符串緩沖區(qū)的初始容量是 16 加上 CharSequence 參數(shù)的長(zhǎng)度。
如果指定的 CharSequence 的長(zhǎng)度小于或等于 0,則返回容量為 16 的空緩沖區(qū)。
參數(shù):
| 參數(shù)名稱 | 參數(shù)描述 |
|---|---|
| seq | 要復(fù)制的序列。 |
方法詳情
length
public int length()
從接口復(fù)制的描述:CharSequence
返回此字符序列的長(zhǎng)度。 長(zhǎng)度是序列中 16 位字符的數(shù)量。
指定者:
接口 CharSequence 中的長(zhǎng)度
返回:
此序列中的字符數(shù)
capacity
public int capacity()
ensureCapacity
public void ensureCapacity(int minimumCapacity)
trimToSize
public void trimToSize()
setLength
public void setLength(int newLength)
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| IndexOutOfBoundsException |
charAt
public char charAt(int index)
從接口復(fù)制的描述:CharSequence
返回指定索引處的 char 值。 索引范圍從零到 length() - 1。序列的第一個(gè) char 值在索引 0 處,下一個(gè)在索引 1 處,依此類推,與數(shù)組索引一樣。
如果索引指定的 char 值是代理項(xiàng),則返回代理項(xiàng)值。
指定者:
接口 CharSequence 中的 charAt
參數(shù):
| 參數(shù)名稱 | 參數(shù)描述 |
|---|---|
| index | 要返回的 char 值的索引 |
返回:
指定的字符值
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| IndexOutOfBoundsException | 如果 index 參數(shù)為負(fù)數(shù)或不小于 length() |
codePointAt
public int codePointAt(int index)
codePointBefore
public int codePointBefore(int index)
codePointCount
public int codePointCount(int beginIndex, int endIndex)
offsetByCodePoints
public int offsetByCodePoints(int index, int codePointOffset)
getChars
public void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin)
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| IndexOutOfBoundsException |
setCharAt
public void setCharAt(int index, char ch)
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| IndexOutOfBoundsException |
append
public StringBuffer append(Object obj)
append
public StringBuffer append(String str)
append
public StringBuffer append(StringBuffer sb)
將指定的 StringBuffer 附加到此序列。
StringBuffer 參數(shù)的字符按順序附加到此 StringBuffer 的內(nèi)容,使此 StringBuffer 的長(zhǎng)度增加參數(shù)的長(zhǎng)度。 如果 sb 為 null,則將四個(gè)字符“null”附加到此 StringBuffer。
設(shè) n 為舊字符序列的長(zhǎng)度,即在執(zhí)行 append 方法之前包含在 StringBuffer 中的字符序列。 那么如果k小于n,則新字符序列中索引k處的字符等于舊字符序列中索引k處的字符; 否則,它等于參數(shù) sb 中索引 k-n 處的字符。
此方法在目標(biāo)對(duì)象 this 上同步,但在源 (sb) 上不同步。
參數(shù):
| 參數(shù)名稱 | 參數(shù)描述 |
|---|---|
| sb | 要附加的 StringBuffer。 |
返回:
對(duì)該對(duì)象的引用。
append
public StringBuffer append(CharSequence s)
將指定的 CharSequence 附加到此序列。
CharSequence 參數(shù)的字符按順序附加,該序列的長(zhǎng)度增加了參數(shù)的長(zhǎng)度。
此方法的結(jié)果與調(diào)用 this.append(s, 0, s.length()); 完全相同。
此方法在目標(biāo)對(duì)象 this 上同步,但在源對(duì)象上不同步。
如果 s 為 null,則附加四個(gè)字符“null”。
指定者:
在接口 Appendable 中追加
參數(shù):
| 參數(shù)名稱 | 參數(shù)描述 |
|---|---|
| s | 要附加的 CharSequence。 |
返回:
對(duì)該對(duì)象的引用。
append
public StringBuffer append(CharSequence s, int start, int end)
從接口復(fù)制的描述:可附加
將指定字符序列的子序列附加到此 Appendable。
當(dāng) csq 不為空時(shí),以 out.append(csq, start, end) 形式調(diào)用此方法的行為與調(diào)用完全相同
out.append(csq.subSequence(start, end)) 指定者:
在接口 Appendable 中追加
參數(shù):
| 參數(shù)名稱 | 參數(shù)描述 |
|---|---|
| s | 從中追加子序列的字符序列。 如果 csq 為 null,則將附加字符,就好像 csq 包含四個(gè)字符“null”。 |
| start | 子序列中第一個(gè)字符的索引 |
| end | 子序列中最后一個(gè)字符之后的字符的索引 |
返回:
對(duì)本附錄的引用
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| IndexOutOfBoundsException | 如果 start 或 end 為負(fù)數(shù),則 start 大于 end,或者 end 大于 csq.length() |
append
public StringBuffer append(char[] str)
append
public StringBuffer append(char[] str, int offset, int len)
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| IndexOutOfBoundsException |
append
public StringBuffer append(boolean b)
append
public StringBuffer append(char c)
從接口復(fù)制的描述:可附加
將指定的字符附加到此 Appendable。
指定者:
在接口 Appendable 中追加
參數(shù):
| 參數(shù)名稱 | 參數(shù)描述 |
|---|---|
| c | 要附加的字符 |
返回:
對(duì)本附錄的引用
append
public StringBuffer append(int i)
appendCodePoint
public StringBuffer appendCodePoint(int codePoint)
append
public StringBuffer append(long lng)
append
public StringBuffer append(float f)
append
public StringBuffer append(double d)
delete
public StringBuffer delete(int start, int end)
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| StringIndexOutOfBoundsException |
deleteCharAt
public StringBuffer deleteCharAt(int index)
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| StringIndexOutOfBoundsException |
replace
public StringBuffer replace(int start, int end, String str)
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| StringIndexOutOfBoundsException |
substring
public String substring(int start)
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| StringIndexOutOfBoundsException |
subSequence
public CharSequence subSequence(int start, int end)
從接口復(fù)制的描述:CharSequence
返回作為此序列子序列的 CharSequence。 子序列以指定索引處的 char 值開(kāi)始,以索引 end - 1 處的 char 值結(jié)束。返回序列的長(zhǎng)度(以字符為單位)為 end - start,因此如果 start == end 則返回空序列 .
指定者:
接口 CharSequence 中的子序列
參數(shù):
| 參數(shù)名稱 | 參數(shù)描述 |
|---|---|
| start | 起始索引,包括 |
| end | 結(jié)束索引,獨(dú)占 |
返回:
指定的子序列
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| IndexOutOfBoundsException | 如果 start 或 end 為負(fù)數(shù),如果 end 大于 length(),或者如果 start 大于 end |
substring
public String substring(int start, int end)
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| StringIndexOutOfBoundsException |
insert
public StringBuffer insert(int index, char[] str, int offset, int len)
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| StringIndexOutOfBoundsException |
insert
public StringBuffer insert(int offset, Object obj)
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| StringIndexOutOfBoundsException |
insert
public StringBuffer insert(int offset, String str)
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| StringIndexOutOfBoundsException |
insert
public StringBuffer insert(int offset, char[] str)
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| StringIndexOutOfBoundsException |
insert
public StringBuffer insert(int dstOffset, CharSequence s)
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| IndexOutOfBoundsException |
insert
public StringBuffer insert(int dstOffset, CharSequence s, int start, int end)
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| IndexOutOfBoundsException |
insert
public StringBuffer insert(int offset, boolean b)
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| StringIndexOutOfBoundsException |
insert
public StringBuffer insert(int offset, char c)
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| IndexOutOfBoundsException |
insert
public StringBuffer insert(int offset, int i)
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| StringIndexOutOfBoundsException |
insert
public StringBuffer insert(int offset, long l)
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| StringIndexOutOfBoundsException |
insert
public StringBuffer insert(int offset, float f)
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| StringIndexOutOfBoundsException |
insert
public StringBuffer insert(int offset, double d)
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| StringIndexOutOfBoundsException |
indexOf
public int indexOf(String str)
indexOf
public int indexOf(String str, int fromIndex)
lastIndexOf
public int lastIndexOf(String str)
lastIndexOf
public int lastIndexOf(String str, int fromIndex)
reverse
public StringBuffer reverse()
toString
public String toString()
從類復(fù)制的描述:對(duì)象
返回對(duì)象的字符串表示形式。 通常,toString 方法返回一個(gè)“以文本方式表示”該對(duì)象的字符串。 結(jié)果應(yīng)該是一個(gè)簡(jiǎn)潔但信息豐富的表示,易于人們閱讀。 建議所有子類重寫此方法。
Object 類的 toString 方法返回一個(gè)字符串,該字符串由對(duì)象作為其實(shí)例的類的名稱、at 符號(hào)字符“@”和對(duì)象哈希碼的無(wú)符號(hào)十六進(jìn)制表示形式組成。 換句話說(shuō),此方法返回一個(gè)等于以下值的字符串:
getClass().getName() + '@' + Integer.toHexString(hashCode()) 指定者:
接口 CharSequence 中的 toString
覆蓋:
類 Object 中的 toString
返回:
對(duì)象的字符串表示形式。
本文題目:創(chuàng)新互聯(lián)鴻蒙OS教程:鴻蒙OSStringBuffer
網(wǎng)頁(yè)URL:http://www.5511xx.com/article/dpgoocc.html


咨詢
建站咨詢
