Класс StringBuffer
Класс для эффективного объединения строк.
Позволяет постепенно создавать строку с помощью методов write*(). Строки объединяются в одну строку только при вызове toString.
Пример:
final buffer = StringBuffer('DART');
print(buffer.length); // 4 Чтобы добавить в буфер строковое представление объекта, возвращаемое методом Object.toString, используйте write. Этот метод также используется для добавления строки напрямую.
buffer.write(' is open source');
print(buffer.length); // 19
print(buffer); // DART is open source
const int dartYear = 2011;
buffer
..write(' since ') // Writes a string.
..write(dartYear); // Writes an int.
print(buffer); // DART is open source since 2011
print(buffer.length); // 30 Чтобы добавить перевод строки после строкового представления объекта, используйте writeln. Вызов writeln без аргументов добавляет в буфер один символ перевода строки.
buffer.writeln(); // Contains "DART is open source since 2011\n".
buffer.writeln('-' * (buffer.length - 1)); // 30 '-'s and a newline.
print(buffer.length); // 62 Чтобы записать в буфер несколько объектов, используйте writeAll.
const separator = '-'; buffer.writeAll(['Dart', 'is', 'fun!'], separator); print(buffer.length); // 74 print(buffer); // DART is open source since 2011 // ------------------------------ // Dart-is-fun!
Чтобы добавить в буфер строковое представление кодовой точки Unicode charCode, используйте writeCharCode.
buffer.writeCharCode(0x0A); // LF (line feed) buffer.writeCharCode(0x44); // 'D' buffer.writeCharCode(0x61); // 'a' buffer.writeCharCode(0x72); // 'r' buffer.writeCharCode(0x74); // 't' print(buffer.length); // 79
Чтобы преобразовать содержимое в одну строку, используйте toString.
final text = buffer.toString(); print(text); // DART is open source since 2011 // ------------------------------ // Dart-is-fun! // Dart
Чтобы очистить буфер и использовать его повторно, вызовите clear.
buffer.clear(); print(buffer.isEmpty); // true print(buffer.length); // 0
- Реализуемые типы
Конструкторы
- StringBuffer([Object content = ""])
- Создает буфер строк, содержащий указанное
content.
Свойства
- hashCode → int только для чтения, унаследовано
- Хеш-код этого объекта.
- isEmpty → bool только для чтения
- Возвращает значение, указывающее, пуст ли буфер. Эта операция выполняется за постоянное время.
- isNotEmpty → bool только для чтения
- Возвращает значение, указывающее, не пуст ли буфер. Эта операция выполняется за постоянное время.
- length → int только для чтения
- Возвращает длину накопленного на данный момент содержимого. Эта операция выполняется за постоянное время.
- runtimeType → Type только для чтения, унаследовано
- Представление типа объекта во время выполнения.
Методы
- clear(
) → void - Очищает буфер строк.
- noSuchMethod(
Invocation invocation) → dynamic унаследовано - Вызывается при обращении к несуществующему методу или свойству.
- toString(
) → String переопределено - Возвращает содержимое буфера в виде одной строки.
- write(
Object? object) → void переопределено - Добавляет в буфер строковое представление
object. - writeAll(
Iterable objects, [String separator = ""]) → void переопределено - Записывает все
objects, разделенныеseparator. - writeCharCode(
int charCode) → void переопределено - Добавляет в буфер строковое представление
charCode. - writeln(
[Object? obj = ""]) → void переопределено - Записывает
object, а затем символ перевода строки,"\n".
Операторы
- operator ==(
Object other) → bool унаследовано - Оператор равенства.
© 2012 the Dart project authors
Licensed under the BSD 3-Clause "New" or "Revised" License.
https://api.dart.dev/stable/2.19.6/dart-core/StringBuffer-class.html