Home > @infiniteobjects/core-library-node > StringBuilder
This class allows a large text string to be constructed incrementally by appending small chunks. The final string can be obtained by calling StringBuilder.toString().
Signature:
export declare class StringBuilder implements IStringBuilder
Implements: IStringBuilder
A naive approach might use the +=
operator to append strings: This would have the downside of copying the entire string each time a chunk is appended, resulting in O(n^2)
bytes of memory being allocated (and later freed by the garbage collector), and many of the allocations could be very large objects. StringBuilder avoids this overhead by accumulating the chunks in an array, and efficiently joining them when getText()
is finally called.
Constructor | Modifiers | Description |
---|---|---|
(constructor)() | Constructs a new instance of the StringBuilder class |
Property | Modifiers | Type | Description |
---|---|---|---|
NEW_LINE_CHARACTER | static |
string | New line character |
SPACE_CHARACTER | static |
string | Space character (uses unicode) |
TAB_SPACE | static |
number | Tab space |
Method | Modifiers | Description |
---|---|---|
append(text) | Append the specified text to the buffer. | |
appendIndentedLine(text, indentLevel) | Append the specified text to the buffer, preceded by the given indentation level and followed by a new line. | |
appendLine(text) | Append the specified text to the buffer, followed by a new line. | |
toString() | Returns a single string containing all the text that was appended to the buffer so far. |