class

StrBuf

class StrBuf : Obj

StrBuf is a mutable sequence of Int characters.

constructors make

Create with initial capacity (defaults to 16)

fields capacity

The number of characters this buffer can hold without allocating more memory

methods add

Add x.toStr to the end of this buffer

toStr

Return the current buffer contents as a Str

set

Replace the existing character at index in this buffer

joinNotNull

Call join but only if x is non-null

clear

Clear the contents of the string buffer so that it has a size of zero

isEmpty

Return if size() == 0

addTrim

Add string with its leading and trailing whitespace trimmed

insert

Insert x.toStr into this buffer at the specified index

addRange

Add a substring of the given string to the buffer

reverse

Reverse the contents of this string buffer

trimEnd

Remove any trailing whitespace in the buffer

remove

Remove the char at the specified index

out

Create an output stream to append characters to this string buffer

size

Return the number of characters in the buffer

addChar

Optimized implementation for add(ch.toChar)

replaceRange

Replaces a range of indices from this buffer with the specified string

getRange

Return a substring based on the specified range

get

Get the character at the zero based index as a Unicode code point

removeRange

Remove a range of indices from this buffer

join

Add x.toStr to the end of the buffer

add This add(Obj? x)

Add x.toStr to the end of this buffer. If x is null then the string "null" is inserted. Return this.

addChar This addChar(Int ch)

Optimized implementation for add(ch.toChar). Return this.

addRange This addRange(Str s, Range r)

Add a substring of the given string to the buffer. Return this.

addTrim This addTrim(Str x)

Add string with its leading and trailing whitespace trimmed. Return this.

capacity Int : capacity

The number of characters this buffer can hold without allocating more memory.

clear This clear()

Clear the contents of the string buffer so that it has a size of zero. Return this.

get @Operator
Int get(Int index)

Get the character at the zero based index as a Unicode code point. Negative indexes may be used to access from the end of the string buffer. This method is accessed via the [] operator.

getRange @Operator
Str getRange(Range range)

Return a substring based on the specified range. Negative indexes may be used to access from the end of the string buffer. This method is accessed via the [] operator. Throw IndexErr if range illegal.

Examples:

"abcd"[0..2]   => "abc"
"abcd"[3..3]   => "d"
"abcd"[-2..-1] => "cd"
"abcd"[0..<2]  => "ab"
"abcd"[1..-2]  => "bc"
"abcd"[4..-1]  => ""

insert This insert(Int index, Obj? x)

Insert x.toStr into this buffer at the specified index. If x is null then the string "null" is inserted. Negative indexes may be used to access from the end of the string buffer. Throw IndexErr if index is out of range. Return this.

isEmpty Bool isEmpty()

Return if size() == 0.

join This join(Obj? x, Str sep)

Add x.toStr to the end of the buffer. If the buffer is not empty, then first add the specified separator which defaults to a space if not specified. Return this.

joinNotNull This joinNotNull(Obj? x, Str sep)

Call join but only if x is non-null.

make new make(Int capacity)

Create with initial capacity (defaults to 16).

out OutStream out()

Create an output stream to append characters to this string buffer. The output stream is designed to write character data, attempts to do binary writes will throw UnsupportedErr.

remove This remove(Int index)

Remove the char at the specified index. A negative index may be used to access an index from the end of the list. Size is decremented by 1. Return this. Throw IndexErr if index is out of range.

removeRange This removeRange(Range r)

Remove a range of indices from this buffer. Negative indexes may be used to access from the end of the list. Throw IndexErr if range illegal. Return this.

replaceRange This replaceRange(Range r, Str str)

Replaces a range of indices from this buffer with the specified string. Negative indexes may be used to access from the end of the buffer. Throw IndexErr if range illegal. Return this.

reverse This reverse()

Reverse the contents of this string buffer. Return this.

set @Operator
This set(Int index, Int ch)

Replace the existing character at index in this buffer. Negative indexes may be used to access from the end of the string buffer. This method is accessed via the [] operator. Return this.

size Int size()

Return the number of characters in the buffer.

toStr virtual Str toStr()

Return the current buffer contents as a Str.

trimEnd This trimEnd()

Remove any trailing whitespace in the buffer. Return this.

Haxall 4.0.5 ∙ 24-Feb-2026 14:33 EST