Поделиться через


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 — это append и insert методы, которые перегружены таким образом, чтобы принимать данные любого типа. Каждый из них фактически преобразует заданный datum в строку, а затем добавляет или вставляет символы этой строки в буфер строки. Метод append всегда добавляет эти символы в конце буфера; insert метод добавляет символы в указанную точку.

Например, если z относится к объекту буфера строки, текущий содержимое которого имеется"start", вызов z.append("le") метода приведет к тому, что буфер строки будет содержаться, в то время как z.insert(4, "le") изменит буфер строки на содержащийся"startle""starlet".

Как правило, если sb относится к экземпляру объекта StringBuffer, то sb.append(x) имеет тот же эффект, что sb.insert(sb.length(), x)и .

Когда операция выполняется с использованием исходной последовательности (например, добавления или вставки из исходной последовательности), этот класс синхронизируется только в строковом буфере, выполняющем операцию, а не в источнике. Обратите внимание, что в то время StringBuffer как он должен быть безопасным для одновременного использования из нескольких потоков, если конструктор или insertappend операция передается исходная последовательность, которая совместно используется в потоках, вызывающий код должен гарантировать, что операция имеет согласованное и неизменное представление исходной последовательности в течение длительности операции. Это может быть удовлетворено вызывающим методом, удерживая блокировку во время вызова операции, используя неизменяемую исходную последовательность или не предоставляя общий доступ к исходной последовательности между потоками.

Каждый буфер строки имеет емкость. Если длина последовательности символов, содержащейся в строковом буфере, не превышает емкость, не требуется выделить новый внутренний буферный массив. Если внутренний буфер переполнен, он автоматически становится больше.

Если иное не указано, передача аргумента null конструктору или методу в этом классе приведет NullPointerException к возникновению ошибки.

По состоянию на выпуск JDK 5 этот класс был дополнен эквивалентным классом, предназначенным для использования одним потоком. StringBuilder Класс StringBuilder , как правило, следует использовать в предпочтениях к этому, так как он поддерживает все те же операции, но он быстрее, так как он не выполняет синхронизацию.

Добавлено в версии 1.0.

Документация по Java для java.lang.StringBuffer.

Части этой страницы — это изменения на основе работы, созданной и общей проектом с открытым исходным кодом Android и используемой в соответствии с условиями, описанными в лицензии Creative Commons 2.5 Attribution.

Конструкторы

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)

Добавляет строковое представление указанного float в конец этого 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)

Вставляет строковое представление указанного длинного в этот буфер с указанным смещением.

Insert(Int32, Object)

Вставляет строковое представление указанного объекта в этот буфер с указанным смещением.

Insert(Int32, Single)

Вставляет строковое представление указанного float в этот буфер с указанным смещением.

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>.

(Унаследовано от Object)
Wait(Int64)

Приводит к тому, что текущий поток будет ждать, пока он не проснется, как правило, при <>получении уведомления</>em или <>эм прервано< или> до тех пор, пока не истекло определенное количество реального времени.

(Унаследовано от Object)
Wait(Int64, Int32)

Приводит к тому, что текущий поток будет ждать, пока он не проснется, как правило, при <>получении уведомления</>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)

Потокобезопасная, изменяемая последовательность символов.

Применяется к