StringBuffer class - dart:core library (original) (raw)

A class for concatenating strings efficiently.

Allows for the incremental building of a string using write*() methods. The strings are concatenated to a single string only when toString is called.

Example:

final buffer = StringBuffer('DART');
print(buffer.length); // 4

To add the string representation of an object, as returned byObject.toString, to the buffer, use write. Is also used for adding a string directly.

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

To add a newline after the object's string representation, use writeln. Calling writeln with no argument adds a single newline to the buffer.

buffer.writeln(); // Contains "DART is open source since 2011\n".
buffer.writeln('-' * (buffer.length - 1)); // 30 '-'s and a newline.
print(buffer.length); // 62

To write multiple objects to the buffer, use writeAll.

const separator = '-';
buffer.writeAll(['Dart', 'is', 'fun!'], separator);
print(buffer.length); // 74
print(buffer);
// DART is open source since 2011
// ------------------------------
// Dart-is-fun!

To add the string representation of a Unicode code point, charCode, to the buffer, use 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

To convert the content to a single string, use toString.

final text = buffer.toString();
print(text);
// DART is open source since 2011
// ------------------------------
// Dart-is-fun!
// Dart

To clear the buffer, so that it can be reused, use clear.

buffer.clear();
print(buffer.isEmpty); // true
print(buffer.length); // 0

Implemented types

Constructors

StringBuffer([Object content = ""])

Creates a string buffer containing the provided content.

Properties

hashCodeint

The hash code for this object.

no setterinherited

isEmptybool

Returns whether the buffer is empty. This is a constant-time operation.

no setter

isNotEmptybool

Returns whether the buffer is not empty. This is a constant-time operation.

no setter

lengthint

Returns the length of the content that has been accumulated so far. This is a constant-time operation.

no setter

runtimeTypeType

A representation of the runtime type of the object.

no setterinherited

Methods

clear()→ void

Clears the string buffer.

noSuchMethod(Invocation invocation)→ dynamic

Invoked when a nonexistent method or property is accessed.

inherited

toString()→ String

Returns the contents of buffer as a single string.

override

write(Object? object)→ void

Writes the string representation of object.

override

writeAll(Iterable objects, [String separator = ""])→ void

Writes the elements of objects separated by separator.

override

writeCharCode(int charCode)→ void

Writes a string containing the character with code point charCode.

override

writeln([Object? obj = ""])→ void

Writes the string representation of object followed by a newline.

override

Operators

operator ==(Object other)→ bool

The equality operator.

inherited