Spec-Zone.ru › Dart 2

dart:core

Класс 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
Реализуемые типы
  • StringSink

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

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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API