言語

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に似ていますが、変更できます。 任意の時点で、特定の文字シーケンスが含まれていますが、シーケンスの長さと内容は、特定のメソッド呼び出しを通じて変更できます。

文字列バッファーは、複数のスレッドで安全に使用できます。 メソッドは必要に応じて同期されるため、特定のインスタンスに対するすべての操作は、関係する各スレッドによって行われたメソッド呼び出しの順序と一致するシリアル順序で発生するかのように動作します。

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 の時点で、このクラスは、1 つのスレッド ( StringBuilder) で使用できるように設計された同等のクラスで補完されています。 StringBuilder クラスは通常、同じ操作をすべてサポートしますが、同期を実行しないため、高速であるため、このクラスよりも優先して使用する必要があります。

1.0 で追加されました。

Javaドキュメント。

このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。

コンストラクター

名前 説明
StringBuffer()

文字を含まない文字列バッファーと、16 文字の初期容量を作成します。

StringBuffer(ICharSequence)

指定した CharSequenceと同じ文字を含む文字列バッファーを構築します。

StringBuffer(Int32)

文字を含まない文字列バッファーと、指定された初期容量を構築します。

StringBuffer(String)

指定した文字列の内容に初期化された文字列バッファーを構築します。

プロパティ

名前 説明
Class

この Objectのランタイム クラスを返します。

(継承元 Object)
Handle

基になる Android インスタンスへのハンドル。

(継承元 Object)
JniIdentityHashCode

相互運用ランタイムによってこのJava ピアに割り当てられた ID ハッシュ コードを取得します。

(継承元 Object)
JniManagedPeerState

スレッド セーフで変更可能な文字シーケンス。

(継承元 JavaObject)
JniPeerMembers

このJava ピアのメンバーを呼び出すために使用される JNI メタデータを取得します。

PeerReference

このJava ピアの JNI オブジェクト参照を取得します。

(継承元 Object)
ThresholdClass

この API は Android 用 Mono インフラストラクチャをサポートしており、コードから直接使用するためのものではありません。

(継承元 AbstractStringBuilder)
ThresholdType

この API は Android 用 Mono インフラストラクチャをサポートしており、コードから直接使用するためのものではありません。

(継承元 AbstractStringBuilder)

メソッド

名前 説明
Append(Boolean)

指定したブール値の文字列形式を、この StringBuffer の末尾に追加します。

Append(Char)

指定した文字をこのバッファーの末尾に追加します。

Append(Char[], Int32, Int32)

指定した文字シーケンスをこのバッファーの末尾に追加します。

Append(Char[])

このバッファーの末尾に文字配列を追加します。

Append(Double)

指定した double の文字列形式を、この StringBuffer の末尾に追加します。

Append(ICharSequence, Int32, Int32)

1 に追加されました。

Append(ICharSequence)

指定した CharSequence をこのシーケンスに追加します。

Append(Int32)

指定した整数の文字列形式をこの StringBuffer の末尾に追加します。

Append(Int64)

指定した long の文字列形式をこの StringBuffer の末尾に追加します。

Append(Object)

指定したオブジェクトの文字列形式をこの StringBuffer の末尾に追加します。

Append(Single)

指定した float の文字列形式をこの 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)

2 つの 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)

指定したバッファー double 内の指定したオフセットに、指定した文字列形式を挿入します。

Insert(Int32, ICharSequence, Int32, Int32)

1 に追加されました。

Insert(Int32, ICharSequence)

1 に追加されました。

Insert(Int32, Int32)

指定したオフセット位置にある、指定した整数の文字列形式をこのバッファーに挿入します。

Insert(Int32, Int64)

指定した長さの文字列形式を、指定したオフセット位置のこのバッファーに挿入します。

Insert(Int32, Object)

指定したオブジェクトの文字列形式を、指定したオフセット位置のこのバッファーに挿入します。

Insert(Int32, Single)

指定したオフセット位置にある、指定した float の文字列形式をこのバッファーに挿入します。

Insert(Int32, String, Int32, Int32)

1 に追加されました。

Insert(Int32, String)

指定したオフセット位置に文字列をこのバッファーに挿入します。

JavaFinalize()

オブジェクトへの参照がなくなったとガベージ コレクションによって判断されたときに、オブジェクトのガベージ コレクターによって呼び出されます。

(継承元 Object)
LastIndexOf(String, Int32)

1 に追加されました。

LastIndexOf(String)

1 に追加されました。

Length()

現在の長さ。

Notify()

このオブジェクトのモニターで待機している 1 つのスレッドを起動します。

(継承元 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)

現在の長さを新しい値に設定します。

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>notified</em> または <em>interrupted</em>。

(継承元 Object)
Wait(Int64, Int32)

現在のスレッドは、通常、 <em>notified</em> または <em>interrupted</em>、または一定のリアルタイムが経過するまで、起動されるまで待機します。

(継承元 Object)
Wait(Int64)

現在のスレッドは、通常、 <em>notified</em> または <em>interrupted</em>、または一定のリアルタイムが経過するまで、起動されるまで待機します。

(継承元 Object)

明示的なインターフェイスの実装

名前 説明
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()

スレッド セーフで変更可能な文字シーケンス。

拡張メソッド

名前 説明
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側で有効であることを確認します。

適用対象