StringBuffer class
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 by Object.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
- hashCode → int read-only, inherited
- The hash code for this object.
- isEmpty → bool read-only
- Returns whether the buffer is empty. This is a constant-time operation.
- isNotEmpty → bool read-only
- Returns whether the buffer is not empty. This is a constant-time operation.
- length → int read-only
- Returns the length of the content that has been accumulated so far. This is a constant-time operation.
- runtimeType → Type read-only, inherited
- A representation of the runtime type of the object.
Methods
- clear(
) → void - Clears the string buffer.
- noSuchMethod(
Invocation invocation) → dynamic inherited - Invoked when a non-existent method or property is accessed.
- toString(
) → String override - Returns the contents of buffer as a single string.
- write(
Object? object) → void override - Adds the string representation of
objectto the buffer. - writeAll(
Iterable objects, [String separator = ""]) → void override - Writes all
objectsseparated byseparator. - writeCharCode(
int charCode) → void override - Adds the string representation of
charCodeto the buffer. - writeln(
[Object? obj = ""]) → void override - Writes
objectfollowed by a newline,"\n".
Operators
- operator ==(
Object other) → bool inherited - The equality operator.
© 2012 the Dart project authors
Licensed under the BSD 3-Clause "New" or "Revised" License.
https://api.dart.dev/stable/2.18.5/dart-core/StringBuffer-class.html