語言

StringBuffer 類別

定義

一個安全執行緒、可變的字元序列。

[Android.Runtime.Register("java/lang/StringBuffer", DoNotGenerateAcw=true)]
public sealed class StringBuffer : Java.Lang.AbstractStringBuilder, IDisposable, Java.IO.ISerializable, Java.Lang.IComparable, System.Collections.Generic.IEnumerable<char>
[<Android.Runtime.Register("java/lang/StringBuffer", DoNotGenerateAcw=true)>]
type StringBuffer = class
    inherit AbstractStringBuilder
    interface ISerializable
    interface IJavaObject
    interface IDisposable
    interface IJavaPeerable
    interface IAppendable
    interface ICharSequence
    interface seq<char>
    interface IEnumerable
    interface IComparable
繼承
屬性
實作

備註

一個安全執行緒、可變的字元序列。 字串緩衝區類似於 String,但可以被修改。 在任何時刻,它都包含某個特定的字元序列,但序列的長度和內容可以透過特定的方法呼叫來改變。

字串緩衝區對多個執行緒來說是安全的。 必要時,方法會同步,使得任何特定實例的所有操作都以與各執行緒呼叫方法順序一致的序列順序進行。

a StringBuffer 上的主要操作是 和 appendinsert 方法,這些方法被超載以接受任何類型的資料。 每個資料實際上將給定資料轉換成字串,然後將該字串的字元附加或插入到字串緩衝區。 append方法總是在緩衝區末端加入這些字元;insert該方法則在指定點加入字元。

例如,若指z"start"的是當前內容為 z.append("le")的字串緩衝區物件,則方法呼叫"startle"會使字串緩衝區包含 z.insert(4, "le"),而 則會改變字串緩衝區以包含 "starlet"。

一般而言,若 sb 指的是 的 StringBuffer實例,則 sb.append(x) 效果與 sb.insert(sb.length(), x)相同。

每當涉及來源序列的操作發生(例如從來源序列附加或插入),此類別僅在執行該操作的字串緩衝區同步,而非對原始序列同步。 請注意,雖然 StringBuffer 設計上可安全同時從多個執行緒使用,但若建構子或 append or insert 操作傳遞的原始碼序列跨執行緒共享,呼叫程式碼必須確保操作在整個操作期間對原始序列保持一致且不變的視圖。 這可以透過呼叫者在操作呼叫時持有鎖、使用不可變的原始碼序列,或不在執行緒間共享原始碼序列來達成。

每個弦緩衝區都有容量。 只要字串緩衝區中字元序列的長度不超過容量,就不需要重新分配內部緩衝陣列。 如果內部緩衝區溢出,緩衝區會自動變大。

除非另有說明,將參數傳遞 null 給此類別中的建構子或方法會導致拋出 a NullPointerException 。

自 JDK 5 版本起,此類別已補充一個設計給單一執行緒使用的等效類別。 StringBuilder StringBuilder通常應該優先使用此類別,因為它支援所有相同的操作,但速度更快,且不執行同步。

1.0 版本新增。

Java 文件 java.lang.StringBuffer。

此頁面的部分是根據 Android 開放原始碼專案所建立和共用的工作進行修改,並根據 Creative Commons 2.5 屬性授權中所述的詞彙使用。

建構函式

名稱 Description
StringBuffer()

構建一個字串緩衝區,且初始容量為 16 個字元。

StringBuffer(ICharSequence)

構造一個字串緩衝區,包含與指定 CharSequence相同的字元。

StringBuffer(Int32)

構建一個字串緩衝區,裡面沒有字元,且初始容量設定為指定。

StringBuffer(String)

建構一個初始化為指定字串內容的字串緩衝區。

屬性

名稱 Description
Class

回傳此 Object的執行時類別。

(繼承來源 Object)
Handle

底層 Android 實例的帳號。

(繼承來源 Object)
JniIdentityHashCode

取得由互通執行時指派給此 Java 對等端的身份雜湊碼。

(繼承來源 Object)
JniManagedPeerState

一個安全執行緒、可變的字元序列。

(繼承來源 JavaObject)
JniPeerMembers

取得用於調用此 Java 節點成員的 JNI 元資料。

PeerReference

取得這個 Java 節點的 JNI 物件參考。

(繼承來源 Object)
ThresholdClass

此 API 支援 Mono for Android 基礎架構,並非直接從你的程式碼中使用。

(繼承來源 AbstractStringBuilder)
ThresholdType

此 API 支援 Mono for Android 基礎架構,並非直接從你的程式碼中使用。

(繼承來源 AbstractStringBuilder)

方法

名稱 Description
Append(Boolean)

將指定布林值的字串表示法加入到此 StringBuffer 的末尾。

Append(Char)

將指定字元加入該緩衝區的末尾。

Append(Char[], Int32, Int32)

將指定的字元序列加入此緩衝區的末尾。

Append(Char[])

將字元陣列加入此緩衝區的末端。

Append(Double)

將指定的雙重函數的字串表示加入到此 StringBuffer 的末尾。

Append(ICharSequence, Int32, Int32)

新增 1.

Append(ICharSequence)

將指定 CharSequence 內容附加於此序列。

Append(Int32)

將指定整數的字串表示加入到此 StringBuffer 的末尾。

Append(Int64)

將指定的 long 的字串表示加入到 StringBuffer 的末尾。

Append(Object)

將指定物件的字串表示加入到此 StringBuffer 的末尾。

Append(Single)

將指定浮點數的字串表示加入到此 StringBuffer 的末尾。

Append(String, Int32, Int32)

將指定值附加於此字元序列。

Append(String)

將指定的字串加入該緩衝區的末尾。

Append(StringBuffer)

將指定 StringBuffer 內容附加於此序列。

AppendCodePoint(Int32)

新增 1.

Capacity()

回傳可持有且不成長字元的數量。

CharAt(Int32)

返回該字元於 index。

Clone()

建立並回傳此物件的副本。

(繼承來源 Object)
CodePointAt(Int32)

新增 1.

CodePointBefore(Int32)

新增 1.

CodePointCount(Int32, Int32)

新增 1.

CompareTo(StringBuffer)

以字典序比較兩個 StringBuffer 實例。

Construct(JniObjectReference, JniObjectReferenceOptions)

一個安全執行緒、可變的字元序列。

(繼承來源 JavaObject)
Delete(Int32, Int32)

新增 1.

DeleteCharAt(Int32)

新增 1.

Dispose()

釋放該 Java 節點所持有的資源。

(繼承來源 Object)
Dispose(Boolean)

釋放該 Java 節點所持有的資源。

(繼承來源 Object)
DisposeUnlessReferenced()

一個安全執行緒、可變的字元序列。

(繼承來源 JavaObject)
EnsureCapacity(Int32)

確保該物件在需要擴大內部緩衝區前,具備最低可用容量。

Equals(Object)

一個安全執行緒、可變的字元序列。

(繼承來源 JavaObject)
Equals(Object)

表示是否有其他物體「等同」於此物。

(繼承來源 Object)
GetChars(Int32, Int32, Char[], Int32)

將請求的字元序列複製到 char[] 從 開始 idx的 。

GetEnumerator()

回傳一個枚舉器,會遍歷此序列中的字元。

GetHashCode()

回傳物件的雜湊碼值。

(繼承來源 Object)
IndexOf(String, Int32)

新增 1.

IndexOf(String)

新增 1.

Insert(Int32, Boolean)

將指定的布林值字串表示插入該緩衝區,位於指定的偏移量。

Insert(Int32, Char)

將字元插入該緩衝區,位於指定的偏移量。

Insert(Int32, Char[], Int32, Int32)

新增 1.

Insert(Int32, Char[])

將字元陣列插入該緩衝區,位於指定的偏移量。

Insert(Int32, Double)

在指定的偏移量處將指定的字串表示插入此緩衝區雙重中。

Insert(Int32, ICharSequence, Int32, Int32)

新增 1.

Insert(Int32, ICharSequence)

新增 1.

Insert(Int32, Int32)

將指定整數的字串表示法插入該緩衝區,位置為指定的偏移量。

Insert(Int32, Int64)

將指定的 long 的字串表示插入該緩衝區,位於指定的偏移量。

Insert(Int32, Object)

將指定物件的字串表示插入該緩衝區,位置為指定的偏移量。

Insert(Int32, Single)

將指定浮點數的字串表示插入該緩衝區,位於指定的偏移量。

Insert(Int32, String, Int32, Int32)

新增 1.

Insert(Int32, String)

將字串插入指定的偏移量至此緩衝區。

JavaFinalize()
已淘汰.

當垃圾回收判定該物件不再有相關參考時,由垃圾回收器呼叫。

(繼承來源 Object)
LastIndexOf(String, Int32)

新增 1.

LastIndexOf(String)

新增 1.

Length()

目前的長度。

Notify()

喚醒一個正在該物件監視器上等待的執行緒。

(繼承來源 Object)
NotifyAll()

喚醒所有等待該物件監視器的執行緒。

(繼承來源 Object)
OffsetByCodePoints(Int32, Int32)

新增 1.

Repeat(ICharSequence, Int32)

將指定 CharSequence c 的計數副本附加到此序列上。

Repeat(Int32, Int32)

重複次數計數 codePoint 參數字串表示的複本數到此序列。

Repeat(String, Int32)

一個安全執行緒、可變的字元序列。

Replace(Int32, Int32, String)

新增 1.

Reverse()

新增 1.

SetCharAt(Int32, Char)

將字元設於 index。

SetHandle(IntPtr, JniHandleOwnership)

設定 Handle 屬性。

(繼承來源 Object)
SetLength(Int32)

將目前長度設定為新值。

SetPeerReference(JniObjectReference, JniObjectReferenceOptions)

一個安全執行緒、可變的字元序列。

(繼承來源 JavaObject)
SubSequence(Int32, Int32)

新增 1.

SubSequenceFormatted(Int32, Int32)

新增 1.

Substring(Int32, Int32)

新增 1.

Substring(Int32)

新增 1.

ToArray<T>()

從這個 Java 陣列包裝器建立一個受管理陣列。

(繼承來源 Object)
ToString()

回傳目前的字串表示法。

TrimToSize()

新增 1.

UnregisterFromRuntime()

將此 Java 節點從互通執行時中取消註冊。

(繼承來源 Object)
Wait()

導致目前執行緒等待被喚醒,通常是透過 <em>通知</><em 或 em>中斷</em> 來喚醒。

(繼承來源 Object)
Wait(Int64, Int32)

會讓目前執行緒等待喚醒,通常是透過 <em>通知</><em 或 em>中斷</em>,或是經過一定的真實時間。

(繼承來源 Object)
Wait(Int64)

會讓目前執行緒等待喚醒,通常是透過 <em>通知</><em 或 em>中斷</em>,或是經過一定的真實時間。

(繼承來源 Object)

明確介面實作

名稱 Description
IComparable.CompareTo(Object)

將此值與指定的排序物件比較。

IEnumerable.GetEnumerator()

回傳此序列中字元的非通用列舉器。

IJavaPeerable.Disposed()

一個安全執行緒、可變的字元序列。

(繼承來源 JavaObject)
IJavaPeerable.Finalized()

一個安全執行緒、可變的字元序列。

(繼承來源 JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock

一個安全執行緒、可變的字元序列。

(繼承來源 JavaObject)
IJavaPeerable.SetJniIdentityHashCode(Int32)

一個安全執行緒、可變的字元序列。

(繼承來源 JavaObject)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

一個安全執行緒、可變的字元序列。

(繼承來源 JavaObject)
IJavaPeerable.SetPeerReference(JniObjectReference)

一個安全執行緒、可變的字元序列。

(繼承來源 JavaObject)
IJavaPeerable.UnregisterFromRuntime()

一個安全執行緒、可變的字元序列。

擴充方法

名稱 Description
Append(IAppendable, String, Int32, Int32)

將指定值附加於此字元序列。

Append(IAppendable, String)

將指定值附加於此字元序列。

GetJniTypeName(IJavaPeerable)

取得實例 self類型的 JNI 名稱。

JavaAs<TResult>(IJavaPeerable)

試著強制self輸入 TResult,檢查 強制在 Java 端是否有效。

JavaCast<TResult>(IJavaObject)

執行 Android 執行時檢查型別轉換。

JavaCast<TResult>(IJavaObject)

一個安全執行緒、可變的字元序列。

SubSequence(ICharSequence, Int32, Int32)

回傳指定範圍內的字元子序列。

TryJavaCast<TResult>(IJavaPeerable, TResult)

試著強制self輸入 TResult,檢查 強制在 Java 端是否有效。

適用於