The StringBuffer class
The base.StringBuffer
class is a built-in class designed to manipulate
character strings.
This class is optimized for string operations such as scanning, replacements, concatenation.
Use the base.StringBuffer
class instead of
STRING
variables
to implement heavy string manipulations.
When you use a base.StringBuffer
object, you work directly on
the internal string buffer. When you use the STRING
data type
and modify a string, the runtime system creates a new buffer.
While this does not impact the performance of programs with a user interface
or even batch programs doing SQL, it can impact performance when you need to
rapidly process large character strings.
For example, if you need to process 500 KB of text (such as when you are
performing a global search-and-replace of specific words), you get much better
performance with a base.StringBuffer
object than you would with
a STRING
variable.
When you pass a base.StringBuffer
object as a function parameter,
the function receives a variable that references the object. Passing the object by
reference is much more efficient than using a STRING
that is
passed by value, because STRING
data is copied on the stack. The
function manipulates the original string, not a copy of the string.