StringBuffer 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
一個安全執行緒、可變的字元序列。
[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) |
構造一個字串緩衝區,包含與指定 |
| StringBuffer(Int32) |
構建一個字串緩衝區,裡面沒有字元,且初始容量設定為指定。 |
| StringBuffer(String) |
建構一個初始化為指定字串內容的字串緩衝區。 |
屬性
| 名稱 | Description |
|---|---|
| Class |
回傳此 |
| 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 |
|---|---|
| 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) |
取得實例 |
| JavaAs<TResult>(IJavaPeerable) |
試著強制 |
| JavaCast<TResult>(IJavaObject) |
執行 Android 執行時檢查型別轉換。 |
| JavaCast<TResult>(IJavaObject) |
一個安全執行緒、可變的字元序列。 |
| SubSequence(ICharSequence, Int32, Int32) |
回傳指定範圍內的字元子序列。 |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
試著強制 |