StringBuffer 类

定义

线程安全的可变字符序列。

[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但可以修改。 在任何时间点,它都包含一些特定的字符序列,但可以通过某些方法调用更改序列的长度和内容。

字符串缓冲区可供多个线程安全使用。 方法在必要时进行同步,使任何特定实例上的所有操作的行为都如同它们以某种串行顺序发生,与涉及的每个线程执行的方法调用顺序一致。

对 a StringBuffer 的主体操作是appendinsert重载的方法,以便接受任何类型的数据。 每个日期有效地将给定的 datum 转换为字符串,然后将该字符串的字符追加或插入到字符串缓冲区。 该方法 append 始终在缓冲区末尾添加这些字符; insert 该方法在指定点添加字符。

例如,如果z引用当前内容的"start"字符串缓冲区对象,则方法调用z.append("le")将导致字符串缓冲区包含,而z.insert(4, "le")将字符串缓冲区更改为包含"startle""starlet"

通常,如果 sb 引用某个实例,则sb.append(x)其效果与 sb.insert(sb.length(), x)StringBuffer/a0> 相同。

每当发生涉及源序列(例如从源序列追加或插入)的操作时,此类仅在执行操作的字符串缓冲区上同步,而不是在源上同步。 请注意,虽然StringBuffer设计为可以安全地从多个线程同时使用,但如果构造函数或appendinsert操作通过跨线程共享的源序列,调用代码必须确保操作在操作期间具有源序列的一致且不变的视图。 在操作调用期间,调用方可以使用不可变的源序列或不跨线程共享源序列来满足此操作。

每个字符串缓冲区都有一个容量。 只要字符串缓冲区中包含的字符序列的长度不超过容量,就不需要分配新的内部缓冲区数组。 如果内部缓冲区溢出,它会自动变大。

除非另有说明,否则将参数传递给 null 此类中的构造函数或方法将导致 NullPointerException 引发。

从发布 JDK 5 开始,此类已得到一个等效类的补充, StringBuilder该类旨在供单个线程使用。 此类 StringBuilder 通常应优先用于此类,因为它支持所有相同的操作,但速度较快,因为它不执行任何同步。

在 1.0 中添加。

适用于 . 的 java.lang.StringBufferJava 文档

本页的某些部分是根据 Android 开放源代码项目创建和共享的工作进行的修改,并根据 Creative Commons 2.5 属性许可证中所述的术语使用。

构造函数

StringBuffer()

构造字符串缓冲区,其中没有字符,初始容量为 16 个字符。

StringBuffer(ICharSequence)

构造一个字符串缓冲区,该缓冲区包含与指定的 CharSequence字符相同的字符。

StringBuffer(Int32)

构造一个字符串缓冲区,其中没有字符和指定的初始容量。

StringBuffer(String)

构造初始化为指定字符串内容的字符串缓冲区。

属性

Class

返回此 Object的运行时类。

(继承自 Object)
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)

将指定的 CharSequence 值追加到此序列。

Append(ICharSequence, Int32, Int32)

已在 1 中添加。

Append(Int32)

将指定整数的字符串表示形式添加到此 StringBuffer 的末尾。

Append(Int64)

将指定的长字符串表示形式添加到此 StringBuffer 的末尾。

Append(Object)

将指定对象的字符串表示形式添加到此 StringBuffer 的末尾。

Append(Single)

将指定浮点的字符串表示形式添加到此 StringBuffer 的末尾。

Append(String)

将指定的字符串添加到此缓冲区的末尾。

Append(String, Int32, Int32)

线程安全的可变字符序列。

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 个实例。

Delete(Int32, Int32)

已在 1 中添加。

DeleteCharAt(Int32)

已在 1 中添加。

Dispose()

线程安全的可变字符序列。

(继承自 Object)
Dispose(Boolean)

线程安全的可变字符序列。

(继承自 Object)
EnsureCapacity(Int32)

在要求扩大内部缓冲区之前,请确保此对象具有最小可用容量。

Equals(Object)

指示其他对象是否“等于”此对象。

(继承自 Object)
GetChars(Int32, Int32, Char[], Int32)

将请求的字符序列复制到 char[] 从以下位置 idx开始传递的字符序列。

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)

在 . 处 index设置字符

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()

返回当前字符串表示形式。

TrimToSize()

已在 1 中添加。

UnregisterFromRuntime()

线程安全的可变字符序列。

(继承自 Object)
Wait()

使当前线程等待,直到唤醒它,通常是通过 em 通知/em> 或 <em>interrupted</em>。<><

(继承自 Object)
Wait(Int64)

使当前线程等待直到唤醒,通常是通过 <em>通知</em> 或 <em interrupted</em>>,或直到经过一定数量的实时。

(继承自 Object)
Wait(Int64, Int32)

使当前线程等待直到唤醒,通常是通过 <em>通知</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)

线程安全的可变字符序列。

适用于