java.lang StringBuilder

The StringBuilder class is mutable sequence of characters. This class is the same sa String however the StringBuilder class provides more versatility because it can be modified. This class provides an API compatible with StringBuffer, but with no guarantee of synchronization. This class is designed for use as a drop-in replacement for StringBuffer in places where the string buffer was being used by a single thread (as is generally the case). Where possible, it is recommended that this class be used in preference to StringBuffer as it will be faster under most implementations.

The principal operations on a StringBuilder are the append and insert methods, which are overloaded so as to accept data of any type. Each effectively converts a given datum to a string and then appends or inserts the characters of that string to the string builder. The append method always adds these characters at the end of the builder; the insert method adds the characters at a specified point.

For example we have a variable value which have contents "test", if we use a String class to append a suffix, we would be having the following code

String value = "test";
String output = value + "ing";

See how we assign the new String to a new variable. Not unlike if we use StringBuilder we will be having a shorter because of it’s inherent behaviour as mutable.

StringBuilder value = new StringBuilder("test");
value.append("ing");

StringBuilder Class Syntax

public final class StringBuilder
extends Object
implements Serializable, CharSequence

Java StringBuilder Compatibility

The StringBuilder class has been around since Java 1.5 though some of it’s methods were added on the later releases.

StringBuilder Method Usage Examples

The following are the detailed list of StringBuilder methods and descriptions. We have also provided links to examples of each method on the list.

Modifier and Type Method and Description
StringBuilder append(boolean b)
Appends the string representation of the boolean argument to the sequence.
StringBuilder append(char c)
Appends the string representation of the char argument to this sequenc
StringBuilder append(char[] str)
Appends the string representation of the char array argument to this sequence.
StringBuilder append(char[] str, int offset, int len)
Appends the string representation of a subarray of the char array argument to this sequence.
StringBuilder append(CharSequence s)
Appends the specified character sequence to this Appendable.
StringBuilder append(CharSequence s, int start, int end)
Appends a subsequence of the specified CharSequence to this sequence.
StringBuilder append(double d)
Appends the string representation of the double argument to this sequence.
StringBuilder append(float f)
Appends the string representation of the float argument to this sequence.
StringBuilder append(int i)
Appends the string representation of the int argument to this sequence.
StringBuilder append(long lng)
Appends the string representation of the long argument to this sequence.
StringBuilder append(Object obj)
Appends the string representation of the Object argument.
StringBuilder append(String str)
Appends the specified string to this character sequence.
StringBuilder append(StringBuffer sb)
Appends the specified StringBuffer to this sequence.
StringBuilder appendCodePoint(int codePoint)
Appends the string representation of the codePoint argument to this sequence.
int capacity()
Gives the allowable number of characters this StringBuilder object can still accommodate.
char charAt(int index)
Returns the char value in this sequence at the specified index.
int codePointAt(int index)
Returns the character (Unicode code point) at the specified index.
int codePointBefore(int index)
Returns the character (Unicode code point) before the specified index.
int codePointCount(int beginIndex, int endIndex)
Returns the number of Unicode code points in the specified text range of this sequence.
StringBuilder delete(int start, int end)
Removes/delete the characters in a substring of this sequence. The substring begins at the specified start and extends to the character at index end – 1 or to the end of the sequence if no such character exists. If start is equal to end, no changes are made.
StringBuilder deleteCharAt(int index)
Removes the char at the specified position in this sequence.
void ensureCapacity(int minimumCapacity)
Ensures that the capacity is at least equal to the specified minimum.
void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin)
Characters are copied from this sequence into the destination character array dst.
int indexOf(String str)
Returns the index within this string of the first occurrence of the specified substring.
int indexOf(String str, int fromIndex)
Returns the index within this string of the first occurrence of the specified substring, starting at the specified index.
StringBuilder insert(int offset, boolean b)
Inserts the string representation of the boolean argument into this sequence.
StringBuilder insert(int offset, char c)
Inserts the string representation of the char argument into this sequence.
StringBuilder insert(int offset, char[] str)
Inserts the string representation of the char array argument into this sequence.
StringBuilder insert(int index, char[] str, int offset, int len)
Inserts the string representation of a subarray of the str array argument into this sequence.
StringBuilder insert(int dstOffset, CharSequence s)
Inserts the specified CharSequence into this sequence.
StringBuilder insert(int dstOffset, CharSequence s, int start, int end)
Inserts a subsequence of the specified CharSequence into this sequence.
StringBuilder insert(int offset, double d)
Inserts the string representation of the double argument into this sequence.
StringBuilder insert(int offset, float f)
Inserts the string representation of the float argument into this sequence.
StringBuilder insert(int offset, int i)
Inserts the string representation of the second int argument into this sequence.
StringBuilder insert(int offset, long l)
Inserts the string representation of the long argument into this sequence.
StringBuilder insert(int offset, Object obj)
Inserts the string representation of the Object argument into this character sequence.
StringBuilder insert(int offset, String str)
Inserts the string into this character sequence.
int lastIndexOf(String str)
Returns the index within this string of the rightmost occurrence of the specified substring.
int lastIndexOf(String str, int fromIndex)
Returns the index within this string of the last occurrence of the specified substring.
int length()
Returns the length (character count).
int offsetByCodePoints(int index, int codePointOffset)
Returns the index within this sequence that is offset from the given index by codePointOffset code points.
StringBuilder replace(int start, int end, String str)
Replaces the characters in a substring of this sequence with characters in the specified String.
StringBuilder reverse()
Causes this character sequence to be replaced by the reverse of the sequence.
void setCharAt(int index, char ch)
The character at the specified index is set to ch.
void setLength(int newLength)
Sets the length of the character sequence.
CharSequence subSequence(int start, int end)
Returns a new character sequence that is a subsequence of this sequence.
String substring(int start)
Returns a new String that contains a subsequence of characters currently contained in this character sequence.
String substring(int start, int end)
Returns a new String that contains a subsequence of characters currently contained in this sequence.
String toString()
Returns a string representing the data in this sequence.
void trimToSize()
Attempts to reduce storage used for the character sequence.