public final class

StringBuffer

extends Object
implements Serializable Appendable CharSequence
java.lang.Object
   ↳ java.lang.StringBuffer

Class Overview

StringBuffer is a variable size contiguous indexable array of characters. The length of the StringBuffer is the number of characters it contains. The capacity of the StringBuffer is the number of characters it can hold.

Characters may be inserted at any position up to the length of the StringBuffer, increasing the length of the StringBuffer. Characters at any position in the StringBuffer may be replaced, which does not affect the StringBuffer length.

The capacity of a StringBuffer may be specified when the StringBuffer is created. If the capacity of the StringBuffer is exceeded, the capacity is increased.

Summary

Public Constructors
StringBuffer()
Constructs a new StringBuffer using the default capacity which is 16.
StringBuffer(int capacity)
Constructs a new StringBuffer using the specified capacity.
StringBuffer(String string)
Constructs a new StringBuffer containing the characters in the specified stringy.
StringBuffer(CharSequence cs)
Constructs a StringBuffer and initializes it with the content from the specified CharSequence.
Public Methods
StringBuffer append(double d)
Adds the string representation of the specified double to the end of this StringBuffer.
synchronized StringBuffer append(CharSequence s)
Appends the specified CharSequence to this buffer.
StringBuffer append(long l)
Adds the string representation of the specified long to the end of this StringBuffer.
StringBuffer append(int i)
Adds the string representation of the specified integer to the end of this StringBuffer.
StringBuffer append(boolean b)
Adds the string representation of the specified boolean to the end of this StringBuffer.
synchronized StringBuffer append(Object obj)
Adds the string representation of the specified object to the end of this StringBuffer.
synchronized StringBuffer append(char ch)
Adds the specified character to the end of this buffer.
synchronized StringBuffer append(char[] chars)
Adds the character array to the end of this buffer.
synchronized StringBuffer append(String string)
Adds the specified string to the end of this buffer.
StringBuffer append(float f)
Adds the string representation of the specified float to the end of this StringBuffer.
synchronized StringBuffer append(char[] chars, int start, int length)
Adds the specified sequence of characters to the end of this buffer.
synchronized StringBuffer append(CharSequence s, int start, int end)
Appends the specified subsequence of the CharSequence to this buffer.
synchronized StringBuffer append(StringBuffer sb)
Adds the specified StringBuffer to the end of this buffer.
StringBuffer appendCodePoint(int codePoint)
Appends the string representation of the specified Unicode code point to the end of this buffer.
int capacity()
Returns the number of characters that can be held without growing.
synchronized char charAt(int index)
Retrieves the character at the index.
synchronized int codePointAt(int index)
Retrieves the Unicode code point value at the index.
synchronized int codePointBefore(int index)
Retrieves the Unicode code point value that precedes the index.
synchronized int codePointCount(int beginIndex, int endIndex)

Calculates the number of Unicode code points between beginIndex and endIndex.

synchronized StringBuffer delete(int start, int end)
Deletes a range of characters.
synchronized StringBuffer deleteCharAt(int location)
Deletes the character at the specified offset.
synchronized void ensureCapacity(int min)
Ensures that this object has a minimum capacity available before requiring the internal buffer to be enlarged.
synchronized void getChars(int start, int end, char[] buffer, int idx)
Copies the requested sequence of characters to the char[] passed starting at idx.
synchronized int indexOf(String subString, int start)
Searches for the index of the specified character.
int indexOf(String string)
Searches for the first index of the specified character.
StringBuffer insert(int index, Object obj)
Inserts the string representation of the specified object into this buffer at the specified offset.
synchronized StringBuffer insert(int index, String string)
Inserts the string into this buffer at the specified offset.
synchronized StringBuffer insert(int index, char[] chars)
Inserts the character array into this buffer at the specified offset.
StringBuffer insert(int index, boolean b)
Inserts the string representation of the specified boolean into this buffer at the specified offset.
StringBuffer insert(int index, double d)
Inserts the string representation of the specified into this buffer double at the specified offset.
synchronized StringBuffer insert(int index, char ch)
Inserts the character into this buffer at the specified offset.
StringBuffer insert(int index, float f)
Inserts the string representation of the specified float into this buffer at the specified offset.
StringBuffer insert(int index, int i)
Inserts the string representation of the specified integer into this buffer at the specified offset.
synchronized StringBuffer insert(int index, CharSequence s)
Inserts the specified CharSequence into this buffer at the specified index.
synchronized StringBuffer insert(int index, CharSequence s, int start, int end)
Inserts the specified subsequence into this buffer at the specified index.
synchronized StringBuffer insert(int index, char[] chars, int start, int length)
Inserts the specified subsequence of characters into this buffer at the specified index.
StringBuffer insert(int index, long l)
Inserts the string representation of the specified long into this buffer at the specified offset.
int lastIndexOf(String string)
Searches for the last index of the specified character.
synchronized int lastIndexOf(String subString, int start)
Searches for the index of the specified character.
int length()
The current length.
synchronized int offsetByCodePoints(int index, int codePointOffset)

Returns the index that is offset codePointOffset code points from index.

synchronized StringBuffer replace(int start, int end, String string)
Replaces the characters in the specified range with the contents of the specified string.
synchronized StringBuffer reverse()
Reverses the order of characters in this buffer.
synchronized void setCharAt(int index, char ch)
Sets the character at the index.
synchronized void setLength(int length)
Sets the current length to a new value.
synchronized CharSequence subSequence(int start, int end)
Returns a CharSequence of the subsequence from the start index to the end index.
synchronized String substring(int start, int end)
Returns the String value of the subsequence from the start index to the end index.
synchronized String substring(int start)
Returns the String value of the subsequence from the start index to the current end.
synchronized String toString()
Returns the current String representation.
synchronized void trimToSize()
Trims off any extra capacity beyond the current length.
[Expand]
Inherited Methods
From class java.lang.Object
From interface java.lang.Appendable
From interface java.lang.CharSequence

Public Constructors

public StringBuffer ()

Constructs a new StringBuffer using the default capacity which is 16.

public StringBuffer (int capacity)

Constructs a new StringBuffer using the specified capacity.

Parameters
capacity the initial capacity.

public StringBuffer (String string)

Constructs a new StringBuffer containing the characters in the specified stringy. The capacity of the new buffer will be the length of the String plus the default capacity.

Parameters
string the string content with which to initialize the new instance.

public StringBuffer (CharSequence cs)

Constructs a StringBuffer and initializes it with the content from the specified CharSequence. The capacity of the new buffer will be the length of the CharSequence plus the default capacity.

Parameters
cs the content to initialize the instance.

Public Methods

public StringBuffer append (double d)

Adds the string representation of the specified double to the end of this StringBuffer.

Parameters
d the double to append.
Returns
  • this StringBuffer.
See Also

public synchronized StringBuffer append (CharSequence s)

Appends the specified CharSequence to this buffer.

If the specified CharSequence is null the string "null" is appended, otherwise the contents of the specified CharSequence is appended.

Parameters
s the CharSequence to append.
Returns
  • this StringBuffer.

public StringBuffer append (long l)

Adds the string representation of the specified long to the end of this StringBuffer.

Parameters
l the long to append.
Returns
  • this StringBuffer.
See Also

public StringBuffer append (int i)

Adds the string representation of the specified integer to the end of this StringBuffer.

Parameters
i the integer to append.
Returns
  • this StringBuffer.
See Also

public StringBuffer append (boolean b)

Adds the string representation of the specified boolean to the end of this StringBuffer.

If the argument is true the string "true" is appended, otherwise the string "false" is appended.

Parameters
b the boolean to append.
Returns
  • this StringBuffer.
See Also

public synchronized StringBuffer append (Object obj)

Adds the string representation of the specified object to the end of this StringBuffer.

If the specified object is null the string "null" is appended, otherwise the objects toString is used to get its string representation.

Parameters
obj the object to append (may be null).
Returns
  • this StringBuffer.
See Also

public synchronized StringBuffer append (char ch)

Adds the specified character to the end of this buffer.

Parameters
ch the character to append.
Returns
  • this StringBuffer.
See Also

public synchronized StringBuffer append (char[] chars)

Adds the character array to the end of this buffer.

Parameters
chars the character array to append.
Returns
  • this StringBuffer.

public synchronized StringBuffer append (String string)

Adds the specified string to the end of this buffer.

If the specified string is null the string "null" is appended, otherwise the contents of the specified string is appended.

Parameters
string the string to append (may be null).
Returns
  • this StringBuffer.

public StringBuffer append (float f)

Adds the string representation of the specified float to the end of this StringBuffer.

Parameters
f the float to append.
Returns
  • this StringBuffer.
See Also

public synchronized StringBuffer append (char[] chars, int start, int length)

Adds the specified sequence of characters to the end of this buffer.

Parameters
chars the character array to append.
start the starting offset.
length the number of characters.
Returns
  • this StringBuffer.
Throws
ArrayIndexOutOfBoundsException if length < 0 , start < 0 or start + length > chars.length.

public synchronized StringBuffer append (CharSequence s, int start, int end)

Appends the specified subsequence of the CharSequence to this buffer.

If the specified CharSequence is null, then the string "null" is used to extract a subsequence.

Parameters
s the CharSequence to append.
start the inclusive start index.
end the exclusive end index.
Returns
  • this StringBuffer.
Throws
IndexOutOfBoundsException if start or end are negative, start is greater than end or end is greater than the length of s.

public synchronized StringBuffer append (StringBuffer sb)

Adds the specified StringBuffer to the end of this buffer.

If the specified StringBuffer is null the string "null" is appended, otherwise the contents of the specified StringBuffer is appended.

Parameters
sb the StringBuffer to append (may be null).
Returns
  • this StringBuffer.

public StringBuffer appendCodePoint (int codePoint)

Appends the string representation of the specified Unicode code point to the end of this buffer.

The code point is converted to a char[] as defined by toChars(int).

Parameters
codePoint the Unicode code point to encode and append.
Returns
  • this StringBuffer.
See Also

public int capacity ()

Returns the number of characters that can be held without growing.

Returns
  • the capacity

public synchronized char charAt (int index)

Retrieves the character at the index.

Parameters
index the index of the character to retrieve.
Returns
  • the char value.

public synchronized int codePointAt (int index)

Retrieves the Unicode code point value at the index.

Parameters
index the index to the char code unit.
Returns
  • the Unicode code point value.

public synchronized int codePointBefore (int index)

Retrieves the Unicode code point value that precedes the index.

Parameters
index the index to the char code unit within this object.
Returns
  • the Unicode code point value.

public synchronized int codePointCount (int beginIndex, int endIndex)

Calculates the number of Unicode code points between beginIndex and endIndex.

Parameters
beginIndex the inclusive beginning index of the subsequence.
endIndex the exclusive end index of the subsequence.
Returns
  • the number of Unicode code points in the subsequence.

public synchronized StringBuffer delete (int start, int end)

Deletes a range of characters.

Parameters
start the offset of the first character.
end the offset one past the last character.
Returns
  • this StringBuffer.
Throws
StringIndexOutOfBoundsException if start < 0, start > end or end > length().

public synchronized StringBuffer deleteCharAt (int location)

Deletes the character at the specified offset.

Parameters
location the offset of the character to delete.
Returns
  • this StringBuffer.
Throws
StringIndexOutOfBoundsException if location < 0 or location >= length()

public synchronized void ensureCapacity (int min)

Ensures that this object has a minimum capacity available before requiring the internal buffer to be enlarged. The general policy of this method is that if the minimumCapacity is larger than the current capacity(), then the capacity will be increased to the largest value of either the minimumCapacity or the current capacity multiplied by two plus two. Although this is the general policy, there is no guarantee that the capacity will change.

Parameters
min the new minimum capacity to set.

public synchronized void getChars (int start, int end, char[] buffer, int idx)

Copies the requested sequence of characters to the char[] passed starting at idx.

Parameters
start the starting offset of characters to copy.
end the ending offset of characters to copy.
buffer the destination character array.
idx the starting offset in the character array.
Throws
IndexOutOfBoundsException if start < 0, end > length(), start > end, index < 0, end - start > buffer.length - index

public synchronized int indexOf (String subString, int start)

Searches for the index of the specified character. The search for the character starts at the specified offset and moves towards the end.

Parameters
subString the string to find.
start the starting offset.
Returns
  • the index of the specified character, -1 if the character isn't found

public int indexOf (String string)

Searches for the first index of the specified character. The search for the character starts at the beginning and moves towards the end.

Parameters
string the string to find.
Returns
  • the index of the specified character, -1 if the character isn't found.

public StringBuffer insert (int index, Object obj)

Inserts the string representation of the specified object into this buffer at the specified offset.

If the specified object is null, the string "null" is inserted, otherwise the objects toString method is used to get its string representation.

Parameters
index the index at which to insert.
obj the object to insert (may be null).
Returns
  • this buffer.
Throws
StringIndexOutOfBoundsException if index < 0 or index > length().

public synchronized StringBuffer insert (int index, String string)

Inserts the string into this buffer at the specified offset.

If the specified string is null, the string "null" is inserted, otherwise the contents of the string is inserted.

Parameters
index the index at which to insert.
string the string to insert (may be null).
Returns
  • this buffer.
Throws
StringIndexOutOfBoundsException if index < 0 or index > length().

public synchronized StringBuffer insert (int index, char[] chars)

Inserts the character array into this buffer at the specified offset.

Parameters
index the index at which to insert.
chars the character array to insert.
Returns
  • this buffer.
Throws
StringIndexOutOfBoundsException if index < 0 or index > length().

public StringBuffer insert (int index, boolean b)

Inserts the string representation of the specified boolean into this buffer at the specified offset.

Parameters
index the index at which to insert.
b the boolean to insert.
Returns
  • this buffer.
Throws
StringIndexOutOfBoundsException if index < 0 or index > length().

public StringBuffer insert (int index, double d)

Inserts the string representation of the specified into this buffer double at the specified offset.

Parameters
index the index at which to insert.
d the double to insert.
Returns
  • this buffer.
Throws
StringIndexOutOfBoundsException if index < 0 or index > length().

public synchronized StringBuffer insert (int index, char ch)

Inserts the character into this buffer at the specified offset.

Parameters
index the index at which to insert.
ch the character to insert.
Returns
  • this buffer.
Throws
ArrayIndexOutOfBoundsException if index < 0 or index > length().

public StringBuffer insert (int index, float f)

Inserts the string representation of the specified float into this buffer at the specified offset.

Parameters
index the index at which to insert.
f the float to insert.
Returns
  • this buffer.
Throws
StringIndexOutOfBoundsException if index < 0 or index > length().

public StringBuffer insert (int index, int i)

Inserts the string representation of the specified integer into this buffer at the specified offset.

Parameters
index the index at which to insert.
i the integer to insert.
Returns
  • this buffer.
Throws
StringIndexOutOfBoundsException if index < 0 or index > length().

public synchronized StringBuffer insert (int index, CharSequence s)

Inserts the specified CharSequence into this buffer at the specified index.

If the specified CharSequence is null, the string "null" is inserted, otherwise the contents of the CharSequence.

Parameters
index The index at which to insert.
s The char sequence to insert.
Returns
  • this buffer.
Throws
IndexOutOfBoundsException if index < 0 or index > length().

public synchronized StringBuffer insert (int index, CharSequence s, int start, int end)

Inserts the specified subsequence into this buffer at the specified index.

If the specified CharSequence is null, the string "null" is inserted, otherwise the contents of the CharSequence.

Parameters
index The index at which to insert.
s The char sequence to insert.
start The inclusive start index in the char sequence.
end The exclusive end index in the char sequence.
Returns
  • this buffer.
Throws
IndexOutOfBoundsException if index is negative or greater than the current length, start or end are negative, start is greater than end or end is greater than the length of s.

public synchronized StringBuffer insert (int index, char[] chars, int start, int length)

Inserts the specified subsequence of characters into this buffer at the specified index.

Parameters
index the index at which to insert.
chars the character array to insert.
start the starting offset.
length the number of characters.
Returns
  • this buffer.
Throws
StringIndexOutOfBoundsException if length < 0, start < 0, start + length > chars.length, index < 0 or index > length()

public StringBuffer insert (int index, long l)

Inserts the string representation of the specified long into this buffer at the specified offset.

Parameters
index the index at which to insert.
l the long to insert.
Returns
  • this buffer.
Throws
StringIndexOutOfBoundsException if index < 0 or index > length().

public int lastIndexOf (String string)

Searches for the last index of the specified character. The search for the character starts at the end and moves towards the beginning.

Parameters
string the string to find.
Returns
  • the index of the specified character, -1 if the character isn't found.

public synchronized int lastIndexOf (String subString, int start)

Searches for the index of the specified character. The search for the character starts at the specified offset and moves towards the beginning.

Parameters
subString the string to find.
start the starting offset.
Returns
  • the index of the specified character, -1 if the character isn't found.

public int length ()

The current length.

Returns
  • the number of characters contained in this instance.

public synchronized int offsetByCodePoints (int index, int codePointOffset)

Returns the index that is offset codePointOffset code points from index.

Parameters
index the index to calculate the offset from.
codePointOffset the number of code points to count.
Returns
  • the index that is codePointOffset code points away from index.

public synchronized StringBuffer replace (int start, int end, String string)

Replaces the characters in the specified range with the contents of the specified string.

Parameters
start the inclusive begin index.
end the exclusive end index.
string the string that will replace the contents in the range.
Returns
  • this buffer.
Throws
StringIndexOutOfBoundsException if start or end are negative, start is greater than end or end is greater than the length of s.

public synchronized StringBuffer reverse ()

Reverses the order of characters in this buffer.

Returns
  • this buffer.

public synchronized void setCharAt (int index, char ch)

Sets the character at the index.

Parameters
index the zero-based index of the character to replace.
ch the character to set.

public synchronized void setLength (int length)

Sets the current length to a new value. If the new length is larger than the current length, then the new characters at the end of this object will contain the char value of od is NOT guaranteed to change the capacity of this object.