StringBuffer 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
安全線程且可變動的字元序列。
[Android.Runtime.Register("java/lang/StringBuffer", DoNotGenerateAcw=true)]
public sealed class StringBuffer : Java.Lang.AbstractStringBuilder, IDisposable, Java.Interop.IJavaPeerable, 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
,但可以修改。 在任何時間點,它都包含一些特定的字元序列,但是序列的長度和內容可以透過特定方法呼叫來變更。
字串緩衝區很安全,可供多個線程使用。 方法會在必要時進行同步處理,讓任何特定實例上的所有作業都以某種序列順序發生,與涉及的每個個別線程所呼叫的方法呼叫順序一致。
上的 StringBuffer
主體作業是 append
和方法,這些方法 insert
會多載,以便接受任何類型的數據。 每一個都會有效地將指定的日期轉換成字串,然後將該字串的字元附加或插入字串緩衝區。 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
insert
作業傳遞跨線程共用的來源序列,則呼叫端程式代碼必須確保作業在作業期間具有一致且不變更的來源序列檢視。 藉由在作業的呼叫期間、使用不可變的來源序列,或不跨線程共用來源序列,呼叫端可能會滿足此情況。
每個字串緩衝區都有容量。 只要字串緩衝區中包含的字元序列長度未超過容量,就不需要配置新的內部緩衝區陣列。 如果內部緩衝區溢位,它會自動變大。
除非另有說明,否則將自變數傳遞 null
至這個類別中的建構函式或方法將會導致 NullPointerException
擲回 。
自發行 JDK 5 起,此類別已補充為單一線程 StringBuilder
使用的對等類別。 類別 StringBuilder
通常應該以此類別的喜好設定使用,因為它支援所有相同的作業,但速度較快,因為它不會執行同步處理。
已在1.0中新增。
的 java.lang.StringBuffer
Java 檔。
此頁面的部分是根據 Android 開放原始碼專案所建立和共用的工作進行修改,並根據 Creative Commons 2.5 屬性授權中所述的詞彙使用。
建構函式
StringBuffer() |
建構字串緩衝區,其中沒有字元,初始容量為16個字元。 |
StringBuffer(ICharSequence) |
建構字串緩衝區,其中包含與指定 |
StringBuffer(Int32) |
建構字串緩衝區,其中沒有字元和指定的初始容量。 |
StringBuffer(String) |
建構初始化為指定字串內容的字串緩衝區。 |
屬性
Class |
傳回這個 |
Handle |
基礎Android實例的句柄。 (繼承來源 Object) |
JniIdentityHashCode |
安全線程且可變動的字元序列。 (繼承來源 Object) |
JniPeerMembers |
安全線程且可變動的字元序列。 |
PeerReference |
安全線程且可變動的字元序列。 (繼承來源 Object) |
ThresholdClass |
安全線程且可變動的字元序列。 (繼承來源 AbstractStringBuilder) |
ThresholdType |
安全線程且可變動的字元序列。 (繼承來源 AbstractStringBuilder) |
方法
Append(Boolean) |
將指定布爾值的字串表示加入這個 StringBuffer 的結尾。 |
Append(Char) |
將指定的字元加入這個緩衝區的結尾。 |
Append(Char[]) |
將字元陣列新增至這個緩衝區的結尾。 |
Append(Char[], Int32, Int32) |
將指定的字元序列加入至這個緩衝區的結尾。 |
Append(Double) |
將指定雙精度浮點的字串表示加入這個 StringBuffer 的結尾。 |
Append(ICharSequence) |
將指定的 |
Append(ICharSequence, Int32, Int32) |
已在1中新增。 |
Append(Int32) |
將指定之整數的字串表示加入這個 StringBuffer 的結尾。 |
Append(Int64) |
將指定 long 的字串表示加入這個 StringBuffer 的結尾。 |
Append(Object) |
將指定物件的字串表示加入這個 StringBuffer 的結尾。 |
Append(Single) |
將指定 float 的字串表示加入這個 StringBuffer 的結尾。 |
Append(String) |
將指定的字串加入這個緩衝區的結尾。 |
Append(String, Int32, Int32) |
安全線程且可變動的字元序列。 |
Append(StringBuffer) |
將指定的 |
AppendCodePoint(Int32) |
已在1中新增。 |
Capacity() |
傳回可以在不成長的情況下保留的字元數。 |
CharAt(Int32) |
傳回 位於的 |
Clone() |
建立並傳回這個 對象的複本。 (繼承來源 Object) |
CodePointAt(Int32) |
已在1中新增。 |
CodePointBefore(Int32) |
已在1中新增。 |
CodePointCount(Int32, Int32) |
已在1中新增。 |
CompareTo(StringBuffer) |
比較兩 |
Delete(Int32, Int32) |
已在1中新增。 |
DeleteCharAt(Int32) |
已在1中新增。 |
Dispose() |
安全線程且可變動的字元序列。 (繼承來源 Object) |
Dispose(Boolean) |
安全線程且可變動的字元序列。 (繼承來源 Object) |
EnsureCapacity(Int32) |
在要求放大內部緩衝區之前,請確定此物件具有可用的最小容量。 |
Equals(Object) |
指出其他物件是否「等於」這個物件。 (繼承來源 Object) |
GetChars(Int32, Int32, Char[], Int32) |
將要求的字元序列複製到 |
GetEnumerator() |
安全線程且可變動的字元序列。 |
GetHashCode() |
傳回此物件的雜湊碼值。 (繼承來源 Object) |
IndexOf(String) |
已在1中新增。 |
IndexOf(String, Int32) |
已在1中新增。 |
Insert(Int32, Boolean) |
將指定布爾值的字串表示插入這個緩衝區中指定的位移。 |
Insert(Int32, Char) |
將字元插入這個緩衝區中指定的位移處。 |
Insert(Int32, Char[]) |
將字元陣列插入這個緩衝區中指定的位移。 |
Insert(Int32, Char[], Int32, Int32) |
已在1中新增。 |
Insert(Int32, Double) |
在指定的位移處,將指定的字串表示插入這個緩衝區雙精度浮點。 |
Insert(Int32, ICharSequence) |
已在1中新增。 |
Insert(Int32, ICharSequence, Int32, Int32) |
已在1中新增。 |
Insert(Int32, Int32) |
將指定整數的字串表示插入這個緩衝區中指定的位移。 |
Insert(Int32, Int64) |
將指定long的字串表示插入這個緩衝區中指定的位移。 |
Insert(Int32, Object) |
在指定的位移處,將指定物件的字串表示插入這個緩衝區。 |
Insert(Int32, Single) |
將指定浮點數的字串表示插入這個緩衝區中指定的位移。 |
Insert(Int32, String) |
將字串插入這個緩衝區中指定的位移。 |
Insert(Int32, String, Int32, Int32) |
已在1中新增。 |
JavaFinalize() |
當垃圾收集決定不再參考物件時,垃圾收集行程在 物件上呼叫。 (繼承來源 Object) |
LastIndexOf(String) |
已在1中新增。 |
LastIndexOf(String, Int32) |
已在1中新增。 |
Length() |
目前的長度。 |
Notify() |
喚醒正在等候此物件監視器的單一線程。 (繼承來源 Object) |
NotifyAll() |
喚醒正在等候此物件監視器的所有線程。 (繼承來源 Object) |
OffsetByCodePoints(Int32, Int32) |
已在1中新增。 |
Replace(Int32, Int32, String) |
已在1中新增。 |
Reverse() |
已在1中新增。 |
SetCharAt(Int32, Char) |
設定中的 |
SetHandle(IntPtr, JniHandleOwnership) |
設定 Handle 屬性。 (繼承來源 Object) |
SetLength(Int32) |
將目前的長度設定為新的值。 |
SubSequence(Int32, Int32) |
已在1中新增。 |
SubSequenceFormatted(Int32, Int32) |
已在1中新增。 |
Substring(Int32) |
已在1中新增。 |
Substring(Int32, Int32) |
已在1中新增。 |
ToArray<T>() |
安全線程且可變動的字元序列。 (繼承來源 Object) |
ToString() |
傳回目前的 String 表示。 |
TrimToSize() |
已在1中新增。 |
UnregisterFromRuntime() |
安全線程且可變動的字元序列。 (繼承來源 Object) |
Wait() |
讓目前線程等候直到喚醒為止,通常是藉由em <notified/em>或<em>interrupted</em> 來喚醒它。<> (繼承來源 Object) |
Wait(Int64) |
讓目前的線程等到喚醒為止,通常是因為 <em>notified</em> 或 <em>interrupted</em>,或直到經過一定數量的實時為止。 (繼承來源 Object) |
Wait(Int64, Int32) |
讓目前的線程等到喚醒為止,通常是因為 <em>notified</em> 或 <em>interrupted</em>,或直到經過一定數量的實時為止。 (繼承來源 Object) |
明確介面實作
IComparable.CompareTo(Object) |
安全線程且可變動的字元序列。 |
IEnumerable.GetEnumerator() |
安全線程且可變動的字元序列。 |
IJavaPeerable.Disposed() |
安全線程且可變動的字元序列。 (繼承來源 Object) |
IJavaPeerable.DisposeUnlessReferenced() |
安全線程且可變動的字元序列。 (繼承來源 Object) |
IJavaPeerable.Finalized() |
安全線程且可變動的字元序列。 (繼承來源 Object) |
IJavaPeerable.JniManagedPeerState |
安全線程且可變動的字元序列。 (繼承來源 Object) |
IJavaPeerable.SetJniIdentityHashCode(Int32) |
安全線程且可變動的字元序列。 (繼承來源 Object) |
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
安全線程且可變動的字元序列。 (繼承來源 Object) |
IJavaPeerable.SetPeerReference(JniObjectReference) |
安全線程且可變動的字元序列。 (繼承來源 Object) |
擴充方法
JavaCast<TResult>(IJavaObject) |
執行 Android 執行時間檢查的類型轉換。 |
JavaCast<TResult>(IJavaObject) |
安全線程且可變動的字元序列。 |
GetJniTypeName(IJavaPeerable) |
安全線程且可變動的字元序列。 |
Append(IAppendable, String) |
安全線程且可變動的字元序列。 |
Append(IAppendable, String, Int32, Int32) |
安全線程且可變動的字元序列。 |
SubSequence(ICharSequence, Int32, Int32) |
安全線程且可變動的字元序列。 |