新聞中心
StringBuilder

10年積累的網站建設、成都網站制作經驗,可以快速應對客戶對網站的新想法和需求。提供各種問題對應的解決方案。讓選擇我們的客戶得到更好、更有力的網絡服務。我雖然不認識你,你也不認識我。但先網站設計后付款的網站建設流程,更有朝陽免費網站建設讓你可以放心的選擇與我們合作。
java.lang.Object
|---java.lang.StringBuilder
public final class StringBuilder
extends Object
implements Appendable, CharSequence, Serializable可變的字符序列。此類提供與 StringBuffer 兼容的 API,但不保證同步。此類設計用于在單個線程正在使用字符串緩沖區(qū)的地方(通常情況下)用作 StringBuffer 的替代品。在可能的情況下,建議優(yōu)先使用此類而不是 StringBuffer,因為它在大多數實現下會更快。
StringBuilder 的主要操作是 append 和 insert 方法,它們被重載以便接受任何類型的數據。每個都有效地將給定的數據轉換為字符串,然后將該字符串的字符附加或插入到字符串構建器中。 append 方法總是將這些字符添加到構建器的末尾; insert 方法在指定點添加字符。
例如,如果 z 引用當前內容為 "start" 的字符串構建器對象,則調用 z.append("le") 的方法將導致字符串構建器包含 "startle",而 z.insert(4, " le") 將更改字符串生成器以包含“starlet”。
一般來說,如果 sb 引用 StringBuilder 的實例,則 sb.append(x) 與 sb.insert(sb.length(), x) 具有相同的效果。
每個字符串生成器都有容量。只要字符串構建器中包含的字符序列的長度不超過容量,就不需要分配新的內部緩沖區(qū)。如果內部緩沖區(qū)溢出,它會自動變大。
StringBuilder 的實例對于多線程使用是不安全的。如果需要這種同步,則建議使用 StringBuffer。
除非另有說明,否則將 null 參數傳遞給此類中的構造函數或方法將導致拋出 NullPointerException。
構造函數摘要
| 構造函數 | 描述 |
|---|---|
| StringBuilder() | 構造一個其中沒有字符且初始容量為 16 個字符的字符串構建器。 |
| StringBuilder(int capacity) | 構造一個字符串構建器,其中沒有字符,初始容量由容量參數指定。 |
| StringBuilder(CharSequence seq) | 構造一個字符串構建器,該構建器包含與指定 CharSequence 相同的字符。 |
| StringBuilder(String str) | 構造一個初始化為指定字符串內容的字符串構建器。 |
方法總結
| 修飾符和類型 | 方法 | 描述 |
|---|---|---|
| StringBuilder | append(boolean b) | |
| StringBuilder | append(char c) | 將指定的字符附加到此 Appendable。 |
| StringBuilder | append(char[] str) | |
| StringBuilder | append(char[] str, int offset, int len) | |
| StringBuilder | append(double d) | |
| StringBuilder | append(float f) | |
| StringBuilder | append(int i) | |
| StringBuilder | append(long lng) | |
| StringBuilder | append(CharSequence s) | 將指定的字符序列附加到此 Appendable。 |
| StringBuilder | append(CharSequence s, int start, int end) | 將指定字符序列的子序列附加到此 Appendable。 |
| StringBuilder | append(Object obj) | |
| StringBuilder | append(String str) | |
| StringBuilder | append(StringBuffer sb) | 將指定的 StringBuffer 附加到此序列。 |
| StringBuilder | appendCodePoint(int codePoint) | |
| int | capacity() | 返回當前容量。 |
| char | charAt(int index) | 返回此序列中指定索引處的 char 值。 |
| int | codePointAt(int index) | 返回指定索引處的字符(Unicode 代碼點)。 |
| int | codePointBefore(int index) | 返回指定索引之前的字符(Unicode 代碼點)。 |
| int | codePointCount(int beginIndex, int endIndex) | 返回此序列的指定文本范圍內的 Unicode 代碼點數。 |
| StringBuilder | delete(int start, int end) | |
| StringBuilder | deleteCharAt(int index) | |
| void | ensureCapacity(int minimumCapacity) | 確保容量至少等于指定的最小值。 |
| void | getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin) | 字符從該序列復制到目標字符數組 dst。 |
| int | indexOf(String str) | |
| int | indexOf(String str, int fromIndex) | |
| StringBuilder | insert(int offset, boolean b) | |
| StringBuilder | insert(int offset, char c) | |
| StringBuilder | insert(int offset, char[] str) | |
| StringBuilder | insert(int index, char[] str, int offset, int len) | |
| StringBuilder | insert(int offset, double d) | |
| StringBuilder | insert(int offset, float f) | |
| StringBuilder | insert(int offset, int i) | |
| StringBuilder | insert(int offset, long l) | |
| StringBuilder | insert(int dstOffset, CharSequence s) | |
| StringBuilder | insert(int dstOffset, CharSequence s, int start, int end) | |
| StringBuilder | insert(int offset, Object obj) | |
| StringBuilder | insert(int offset, String str) | |
| int | lastIndexOf(String str) | |
| int | lastIndexOf(String str, int fromIndex) | |
| int | length() | 返回長度(字符數)。 |
| int | offsetByCodePoints(int index, int codePointOffset) | 返回此序列中從給定索引偏移 codePointOffset 代碼點的索引。 |
| StringBuilder | replace(int start, int end, String str) | |
| StringBuilder | reverse() | |
| void | setCharAt(int index, char ch) | 指定索引處的字符設置為 ch。 |
| void | setLength(int newLength) | 設置字符序列的長度。 |
| CharSequence | subSequence(int start, int end) | 返回一個新的字符序列,它是該序列的子序列。 |
| String | substring(int start) | 返回一個新字符串,其中包含當前包含在此字符序列中的字符子序列。 |
| String | substring(int start, int end) | 返回一個新字符串,該字符串包含當前包含在此序列中的字符子序列。 |
| String | toString() | 返回對象的字符串表示形式。 |
| void | trimToSize() | 嘗試減少用于字符序列的存儲空間。 |
| 從接口 java.lang.CharSequence 繼承的方法 |
|---|
| chars, codePoints |
| 從類 java.lang.Object 繼承的方法 |
|---|
| clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
構造函數詳細信息
StringBuilder
public StringBuilder()
構造一個其中沒有字符且初始容量為 16 個字符的字符串構建器。
StringBuilder
public StringBuilder(int capacity)
構造一個字符串構建器,其中沒有字符,初始容量由容量參數指定。
參數:
| 參數名稱 | 參數描述 |
|---|---|
| capacity | 初始容量。 |
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| NegativeArraySizeException | 如果容量參數小于 0。 |
StringBuilder
public StringBuilder(String str)
構造一個初始化為指定字符串內容的字符串構建器。 字符串生成器的初始容量是 16 加上字符串參數的長度。
參數:
| 參數名稱 | 參數描述 |
|---|---|
| str | 緩沖區(qū)的初始內容。 |
StringBuilder
public StringBuilder(CharSequence seq)
構造一個字符串構建器,該構建器包含與指定 CharSequence 相同的字符。 字符串生成器的初始容量是 16 加上 CharSequence 參數的長度。
參數:
| 參數名稱 | 參數描述 |
|---|---|
| seq | 要復制的序列。 |
方法詳情
append
public StringBuilder append(Object obj)
append
public StringBuilder append(String str)
append
public StringBuilder append(StringBuffer sb)
將指定的 StringBuffer 附加到此序列。
StringBuffer 參數的字符按順序附加到此序列,此序列的長度增加參數的長度。 如果 sb 為空,則將四個字符“null”附加到此序列中。
設 n 為該字符序列在執(zhí)行 append 方法之前的長度。 那么如果k小于n,則新字符序列中索引k處的字符等于舊字符序列中索引k處的字符; 否則,它等于參數 sb 中索引 k-n 處的字符。
參數:
| 參數名稱 | 參數描述 |
|---|---|
| sb | 要附加的 StringBuffer。 |
返回:
對該對象的引用。
append
public StringBuilder append(CharSequence s)
從接口復制的描述:可附加
將指定的字符序列附加到此 Appendable。
根據哪個類實現了字符序列 csq,可能不會附加整個序列。 例如,如果 csq 是一個 CharBuffer,那么要追加的子序列由緩沖區(qū)的位置和限制定義。
指定者:
在接口 Appendable 中追加
參數:
| 參數名稱 | 參數描述 |
|---|---|
| s | 要追加的字符序列。 如果 csq 為 null,則將四個字符“null”附加到此 Appendable。 |
返回:
對本附錄的引用
append
public StringBuilder append(CharSequence s, int start, int end)
從接口復制的描述:可附加
將指定字符序列的子序列附加到此 Appendable。
當 csq 不為空時,以 out.append(csq, start, end) 形式調用此方法的行為與調用完全相同
out.append(csq.subSequence(start, end))指定者:
在接口 Appendable 中追加
參數:
| 參數名稱 | 參數描述 |
|---|---|
| s | 從中追加子序列的字符序列。 如果 csq 為 null,則將附加字符,就好像 csq 包含四個字符“null”。 |
| start | 子序列中第一個字符的索引 |
| end | 子序列中最后一個字符之后的字符的索引 |
返回:
對本附錄的引用
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| IndexOutOfBoundsException | 如果 start 或 end 為負數,則 start 大于 end,或者 end 大于 csq.length() |
append
public StringBuilder append(char[] str)
append
public StringBuilder append(char[] str, int offset, int len)
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| IndexOutOfBoundsException |
append
public StringBuilder append(boolean b)
append
public StringBuilder append(char c)
從接口復制的描述:可附加
將指定的字符附加到此 Appendable。
指定者:
在接口 Appendable 中追加
參數:
| 參數名稱 | 參數描述 |
|---|---|
| c | 要附加的字符 |
返回:
對本附錄的引用
append
public StringBuilder append(int i)
append
public StringBuilder append(long lng)
append
public StringBuilder append(float f)
append
public StringBuilder append(double d)
appendCodePoint
public StringBuilder appendCodePoint(int codePoint)
delete
public StringBuilder delete(int start, int end)
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| StringIndexOutOfBoundsException |
deleteCharAt
public StringBuilder deleteCharAt(int index)
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| StringIndexOutOfBoundsException |
replace
public StringBuilder replace(int start, int end, String str)
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| StringIndexOutOfBoundsException |
insert
public StringBuilder insert(int index, char[] str, int offset, int len)
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| StringIndexOutOfBoundsException |
insert
public StringBuilder insert(int offset, Object obj)
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| StringIndexOutOfBoundsException |
insert
public StringBuilder insert(int offset, String str)
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| StringIndexOutOfBoundsException |
insert
public StringBuilder insert(int offset, char[] str)
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| StringIndexOutOfBoundsException |
insert
public StringBuilder insert(int dstOffset, CharSequence s)
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| IndexOutOfBoundsException |
insert
public StringBuilder insert(int dstOffset, CharSequence s, int start, int end)
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| IndexOutOfBoundsException |
insert
public StringBuilder insert(int offset, boolean b)
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| StringIndexOutOfBoundsException |
insert
public StringBuilder insert(int offset, char c)
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| IndexOutOfBoundsException |
insert
public StringBuilder insert(int offset, int i)
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| StringIndexOutOfBoundsException |
insert
public StringBuilder insert(int offset, long l)
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| StringIndexOutOfBoundsException |
insert
public StringBuilder insert(int offset, float f)
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| StringIndexOutOfBoundsException |
insert
public StringBuilder 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 StringBuilder reverse()
toString
public String toString()
從類復制的描述:對象
返回對象的字符串表示形式。 通常,toString 方法返回一個“以文本方式表示”該對象的字符串。 結果應該是一個簡潔但信息豐富的表示,易于人們閱讀。 建議所有子類重寫此方法。
Object 類的 toString 方法返回一個字符串,該字符串由對象作為其實例的類的名稱、at 符號字符“@”和對象哈希碼的無符號十六進制表示形式組成。 換句話說,此方法返回一個等于以下值的字符串:
getClass().getName() + '@' + Integer.toHexString(hashCode())指定者:
接口 CharSequence 中的 toString
覆蓋:
類 Object 中的 toString
返回:
對象的字符串表示形式。
trimToSize
public void trimToSize()
嘗試減少用于字符序列的存儲空間。 如果緩沖區(qū)大于保存其當前字符序列所需的大小,則可以調整其大小以提高空間效率。 調用此方法可能(但不是必須)影響后續(xù)調用 capacity() 方法返回的值。
codePointAt
public int codePointAt(int index)
返回指定索引處的字符(Unicode 代碼點)。 索引指的是 char 值(Unicode 代碼單元),范圍從 0 到 length() - 1。
如果給定索引處指定的 char 值在高代理范圍內,后續(xù)索引小于此序列的長度,并且后續(xù)索引處的 char 值在低代理范圍內,則補充代碼點 返回對應于這個代理對。 否則,返回給定索引處的 char 值。
參數:
| 參數名稱 | 參數描述 |
|---|---|
| index | char 值的索引 |
返回:
索引處字符的代碼點值
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| IndexOutOfBoundsException | 如果 index 參數為負數或不小于此序列的長度。 |
getChars
public void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin)
字符從該序列復制到目標字符數組 dst。 要復制的第一個字符位于索引 srcBegin; 要復制的最后一個字符位于索引 srcEnd-1 處。 要復制的字符總數為 srcEnd-srcBegin。 字符被復制到 dst 的子數組中,從索引 dstBegin 開始,到索引結束:
dstbegin + (srcEnd-srcBegin) - 1參數:
| 參數名稱 | 參數描述 |
|---|---|
| srcBegin | 從這個偏移量開始復制。 |
| srcEnd | 在此偏移處停止復制。 |
| dst | 要將數據復制到的數組。 |
| dstBegin | 偏移到 dst。 |
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| IndexOutOfBoundsException | 如果以下任何一項為真:srcBegin 為負 dstBegin 為負 srcBegin 參數大于 srcEnd 參數。srcEnd 大于 this.length().dstBegin+srcEnd-srcBegin 大于 dst.length |
length
public int length()
返回長度(字符數)。
指定者:
接口 CharSequence 中的長度
返回:
此對象當前表示的字符序列的長度
setCharAt
public void setCharAt(int index, char ch)
指定索引處的字符設置為 ch。 這個序列被改變以表示一個與舊字符序列相同的新字符序列,除了它在位置索引處包含字符 ch。
index 參數必須大于或等于 0,并且小于此序列的長度。
參數:
| 參數名稱 | 參數描述 |
|---|---|
| index | 要修改的字符的索引。 |
| ch | 新character。 |
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| IndexOutOfBoundsException | 如果 index 為負數或大于或等于 length()。 |
subSequence
public CharSequence subSequence(int start, int end)
返回一個新的字符序列,它是該序列的子序列。
調用表單的這個方法
sb.subSequence(begin, end)行為方式與調用完全相同
sb.substring(begin, end)提供這個方法是為了這個類可以實現 CharSequence 接口。
指定者:
接口 CharSequence 中的子序列
參數:
| 參數名稱 | 參數描述 |
|---|---|
| start | 起始索引,包括在內。 |
| end | 結束索引,獨占。 |
返回:
指定的子序列。
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| IndexOutOfBoundsException | 如果 start 或 end 為負數,如果 end 大于 length(),或者如果 start 大于 end |
substring
public String substring(int start)
返回一個新字符串,其中包含當前包含在此字符序列中的字符子序列。 子字符串從指定的索引開始并延伸到此序列的末尾。
參數:
| 參數名稱 | 參數描述 |
|---|---|
| start | 起始索引,包括在內。 |
返回:
新字符串。
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| StringIndexOutOfBoundsException | 如果 start 小于零,或大于此對象的長度。 |
substring
public String substring(int start, int end)
返回一個新字符串,該字符串包含當前包含在此序列中的字符子序列。 子字符串從指定的 start 開始并延伸到索引 end - 1 處的字符。
參數:
| 參數名稱 | 參數描述 |
|---|---|
| start | 起始索引,包括在內。 |
| end | 結束索引,獨占。 |
返回:
新字符串。
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| StringIndexOutOfBoundsException | 如果 start 或 end 為負數或大于 length(),或者 start 大于 end。 |
capacity
public int capacity()
返回當前容量。 容量是可用于新插入字符的存儲量,超出該容量將發(fā)生分配。
返回:
當前容量
setLength
public void setLength(int newLength)
設置字符序列的長度。 該序列更改為長度由參數指定的新字符序列。 對于每個小于newLength的非負索引k,如果k小于舊字符序列的長度,則新字符序列中索引k處的字符與舊序列中索引k處的字符相同; 否則,它是空字符'\u0000'。 換言之,如果 newLength 參數小于當前長度,則將長度更改為指定長度。
如果 newLength 參數大于或等于當前長度,則附加足夠的空字符 ('\u0000'),以便長度成為 newLength 參數。
newLength 參數必須大于或等于 0。
參數:
| 參數名稱 | 參數描述 |
|---|---|
| newLength | 新長度 |
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| IndexOutOfBoundsException | 如果 newLength 參數為負數。 |
ensureCapacity
public void ensureCapacity(int minimumCapacity)
確保容量至少等于指定的最小值。 如果當前容量小于參數,則分配具有更大容量的新內部數組。 新容量是以下兩者中的較大者:
- minimumCapacity 參數。
- 舊容量的兩倍,加上 2。
如果 minimumCapacity 參數為非正數,則此方法不執(zhí)行任何操作并簡單地返回。 請注意,對該對象的后續(xù)操作可能會將實際容量減少到此處請求的容量以下。
參數:
| 參數名稱 | 參數描述 |
|---|---|
| minimumCapacity | 所需的最小容量。 |
codePointBefore
public int codePointBefore(int index)
返回指定索引之前的字符(Unicode 代碼點)。 索引指的是 char 值(Unicode 代碼單元),范圍從 1 到 length()。
如果 (index - 1) 處的 char 值在低代理范圍內,(index - 2) 不為負,并且 (index - 2) 處的 char 值在高代理范圍內,則補充代碼點 返回代理對的值。 如果索引 - 1 處的 char 值是未配對的低代理或高代理,則返回代理值。
參數:
| 參數名稱 | 參數描述 |
|---|---|
| index | 應返回的代碼點之后的索引 |
返回:
給定索引之前的 Unicode 代碼點值。
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| IndexOutOfBoundsException | 如果 index 參數小于 1 或大于此序列的長度。 |
charAt
public char charAt(int index)
返回此序列中指定索引處的 char 值。 第一個 char 值在索引 0 處,下一個在索引 1 處,依此類推,就像在數組索引中一樣。
index 參數必須大于或等于 0,并且小于此序列的長度。
如果索引指定的 char 值是代理項,則返回代理項值。
指定者:
接口 CharSequence 中的 charAt
參數:
| 參數名稱 | 參數描述 |
|---|---|
| index | 所需 char 值的索引。 |
返回:
指定索引處的 char 值。
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| IndexOutOfBoundsException | 如果 index 為負數或大于或等于 length()。 |
codePointCount
public int codePointCount(int beginIndex, int endIndex)
返回此序列的指定文本范圍內的 Unicode 代碼點數。 文本范圍從指定的 beginIndex 開始并擴展到索引 endIndex - 1 處的字符。因此,文本范圍的長度(以字符為單位)為 endIndex-beginIndex。 此序列中的未配對代理各自計為一個代碼點。
參數:
| 參數名稱 | 參數描述 |
|---|---|
| beginIndex | 文本范圍的第一個字符的索引。 |
| endIndex | 文本范圍的最后一個字符之后的索引。 |
返回:
指定文本范圍內的 Unicode 代碼點數
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| IndexOutOfBoundsException | 如果 beginIndex 為負數,或者 endIndex 大于此序列的長度,或者 beginIndex 大于 endIndex。 |
offsetByCodePoints
public int offsetByCodePoints(int index, int codePointOffset)
返回此序列中從給定索引偏移 codePointOffset 代碼點的索引。 由 index 和 codePointOffset 給出的文本范圍內的未配對代理分別計為一個代碼點。
參數:
| 參數名稱 | 參數描述 |
|---|---|
| index | 要偏移的索引 |
| codePointOffset | 代碼點的偏移量 |
返回:
此序列中的索引
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| IndexOutOfBoundsException | 如果 index 為負或大于此序列的長度,或者如果 codePointOffset 為正并且以 index 開頭的子序列的代碼點少于 codePointOffset,或者如果 codePointOffset 為負并且 index 之前的子序列小于 codePointOffset 代碼的絕對值 點。 |
文章名稱:創(chuàng)新互聯鴻蒙OS教程:鴻蒙OS StringBuilder
網站URL:http://m.5511xx.com/article/djdpdhs.html


咨詢
建站咨詢
