Class: java.lang.StringBuilder
- public final class StringBuilder
- extends AbstractStringBuilder
- implements Serializable, CharSequence
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, if z refers to a string builder object
whose current contents are "start", then
the method call z.append("le") would cause the string
builder to contain "startle", whereas
z.insert(4, "le") would alter the string builder to
contain "starlet".
In general, if sb refers to an instance of a StringBuilder,
then sb.append(x) has the same effect as
sb.insert(sb.length(), x).
Every string builder has a capacity. As long as the length of the
character sequence contained in the string builder does not exceed
the capacity, it is not necessary to allocate a new internal
buffer. If the internal buffer overflows, it is automatically made larger.
Instances of StringBuilder are not safe for
use by multiple threads. If such synchronization is required then it is
recommended that StringBuffer be used.
Inheritance
Superclass tree:- java.lang.Object
- java.lang.AbstractStringBuilder
- java.lang.StringBuilder
Methods
-
StringBuildertop
public StringBuilder()Constructs a string builder with no characters in it and an initial capacity of 16 characters. -
StringBuildertop
public StringBuilder(int capacity)Constructs a string builder with no characters in it and an initial capacity specified by thecapacityargument. -
StringBuildertop
public StringBuilder(CharSequence seq)Constructs a string builder that contains the same characters as the specifiedCharSequence. The initial capacity of the string builder is16plus the length of theCharSequenceargument. -
StringBuildertop
public StringBuilder(String str)Constructs a string builder initialized to the contents of the specified string. The initial capacity of the string builder is16plus the length of the string argument. -
appendtop
public StringBuilder append(char c)Appends the specified character to this Appendable.- Specified by:
- append from Appendable
- Override hierarchy:
- append from AbstractStringBuilder
-
appendtop
public StringBuilder append(double d)Appends the string representation of thedoubleargument to this sequence.The argument is converted to a string as if by the method
String.valueOf, and the characters of that string are then appended to this sequence.- Override hierarchy:
- append from AbstractStringBuilder
-
appendtop
public StringBuilder append(float f)Appends the string representation of thefloatargument to this sequence.The argument is converted to a string as if by the method
String.valueOf, and the characters of that string are then appended to this string sequence.- Override hierarchy:
- append from AbstractStringBuilder
-
appendtop
public StringBuilder append(int i)Appends the string representation of theintargument to this sequence.The argument is converted to a string as if by the method
String.valueOf, and the characters of that string are then appended to this sequence.- Override hierarchy:
- append from AbstractStringBuilder
-
appendtop
public StringBuilder append(long lng)Appends the string representation of thelongargument to this sequence.The argument is converted to a string as if by the method
String.valueOf, and the characters of that string are then appended to this sequence.- Override hierarchy:
- append from AbstractStringBuilder
-
appendtop
public StringBuilder append(CharSequence s)Appends the specified character sequence to this Appendable.Depending on which class implements the character sequence csq, the entire sequence may not be appended. For instance, if csq is a java.nio.CharBuffer then the subsequence to append is defined by the buffer's position and limit.
- Specified by:
- append from Appendable
- Override hierarchy:
- append from AbstractStringBuilder
-
appendtop
public StringBuilder append(CharSequence s, int start, int end)Appends a subsequence of the specified character sequence to this Appendable.An invocation of this method of the form out.append(csq, start, end) when csq is not null, behaves in exactly the same way as the invocation
out.append(csq.subSequence(start, end))- Specified by:
- append from Appendable
- Override hierarchy:
- append from AbstractStringBuilder
-
appendtop
public StringBuilder append(Object obj)Appends the string representation of theObjectargument.The argument is converted to a string as if by the method
String.valueOf, and the characters of that string are then appended to this sequence.- Override hierarchy:
- append from AbstractStringBuilder
-
appendtop
public StringBuilder append(String str)Appends the specified string to this character sequence.The characters of the
Stringargument are appended, in order, increasing the length of this sequence by the length of the argument. Ifstrisnull, then the four characters"null"are appended.Let n be the length of this character sequence just prior to execution of the
appendmethod. Then the character at index k in the new character sequence is equal to the character at index k in the old character sequence, if k is less than n; otherwise, it is equal to the character at index k-n in the argumentstr.- Override hierarchy:
- append from AbstractStringBuilder
-
appendtop
public StringBuilder append(StringBuffer sb)Appends the specified StringBuffer to this sequence.The characters of the StringBuffer argument are appended, in order, to this sequence, increasing the length of this sequence by the length of the argument. If sb is null, then the four characters "null" are appended to this sequence.
Let n be the length of this character sequence just prior to execution of the append method. Then the character at index k in the new character sequence is equal to the character at index k in the old character sequence, if k is less than n; otherwise, it is equal to the character at index k-n in the argument
sb.- Override hierarchy:
- append from AbstractStringBuilder
-
appendtop
private StringBuilder append(StringBuilder sb) -
appendtop
public StringBuilder append(boolean b)Appends the string representation of thebooleanargument to the sequence.The argument is converted to a string as if by the method
String.valueOf, and the characters of that string are then appended to this sequence.- Override hierarchy:
- append from AbstractStringBuilder
-
appendtop
public StringBuilder append(char[] str)Appends the string representation of thechararray argument to this sequence.The characters of the array argument are appended, in order, to the contents of this sequence. The length of this sequence increases by the length of the argument.
The overall effect is exactly as if the argument were converted to a string by the method String.valueOf(char[]) and the characters of that string were then appended to this character sequence.
- Override hierarchy:
- append from AbstractStringBuilder
-
appendtop
public StringBuilder append(char[] str, int offset, int len)Appends the string representation of a subarray of thechararray argument to this sequence.Characters of the
chararraystr, starting at indexoffset, are appended, in order, to the contents of this sequence. The length of this sequence increases by the value oflen.The overall effect is exactly as if the arguments were converted to a string by the method String.valueOf(char[], int, int) and the characters of that string were then appended to this character sequence.
- Override hierarchy:
- append from AbstractStringBuilder
-
appendCodePointtop
public StringBuilder appendCodePoint(int codePoint)Appends the string representation of thecodePointargument to this sequence.The argument is appended to the contents of this sequence. The length of this sequence increases by Character.charCount(codePoint).
The overall effect is exactly as if the argument were converted to a
chararray by the method Character.toChars(int) and the character in that array were then appended to this character sequence.- Override hierarchy:
- appendCodePoint from AbstractStringBuilder
-
deletetop
public StringBuilder delete(int start, int end)Removes the characters in a substring of this sequence. The substring begins at the specifiedstartand extends to the character at indexend - 1or to the end of the sequence if no such character exists. Ifstartis equal toend, no changes are made.- Override hierarchy:
- delete from AbstractStringBuilder
-
deleteCharAttop
public StringBuilder deleteCharAt(int index)Removes thecharat the specified position in this sequence. This sequence is shortened by onechar.Note: If the character at the given index is a supplementary character, this method does not remove the entire character. If correct handling of supplementary characters is required, determine the number of
chars to remove by callingCharacter.charCount(thisSequence.codePointAt(index)), wherethisSequenceis this sequence.- Override hierarchy:
- deleteCharAt from AbstractStringBuilder
-
indexOftop
public int indexOf(String str)Returns the index within this string of the first occurrence of the specified substring. The integer returned is the smallest value k such that:
isthis.toString().startsWith(str, k)
true.- Override hierarchy:
- indexOf from AbstractStringBuilder
-
indexOftop
public 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. The integer returned is the smallest value k for which:
If no such value of k exists, then -1 is returned.k >= Math.min(fromIndex, str.length()) && this.toString().startsWith(str, k)- Override hierarchy:
- indexOf from AbstractStringBuilder
-
inserttop
public StringBuilder insert(int offset, char c)Inserts the string representation of thecharargument into this sequence.The second argument is inserted into the contents of this sequence at the position indicated by
offset. The length of this sequence increases by one.The overall effect is exactly as if the argument were converted to a string by the method String.valueOf(char) and the character in that string were then inserted into this character sequence at the position indicated by
offset.The offset argument must be greater than or equal to
0, and less than or equal to the length of this sequence.- Override hierarchy:
- insert from AbstractStringBuilder
-
inserttop
public StringBuilder insert(int offset, double d)Inserts the string representation of thedoubleargument into this sequence.The second argument is converted to a string as if by the method
String.valueOf, and the characters of that string are then inserted into this sequence at the indicated offset.The offset argument must be greater than or equal to
0, and less than or equal to the length of this sequence.- Override hierarchy:
- insert from AbstractStringBuilder
-
inserttop
public StringBuilder insert(int offset, float f)Inserts the string representation of thefloatargument into this sequence.The second argument is converted to a string as if by the method
String.valueOf, and the characters of that string are then inserted into this sequence at the indicated offset.The offset argument must be greater than or equal to
0, and less than or equal to the length of this sequence.- Override hierarchy:
- insert from AbstractStringBuilder
-
inserttop
public StringBuilder insert(int offset, int i)Inserts the string representation of the secondintargument into this sequence.The second argument is converted to a string as if by the method
String.valueOf, and the characters of that string are then inserted into this sequence at the indicated offset.The offset argument must be greater than or equal to
0, and less than or equal to the length of this sequence.- Override hierarchy:
- insert from AbstractStringBuilder
-
inserttop
public StringBuilder insert(int offset, long l)Inserts the string representation of thelongargument into this sequence.The second argument is converted to a string as if by the method
String.valueOf, and the characters of that string are then inserted into this sequence at the position indicated byoffset.The offset argument must be greater than or equal to
0, and less than or equal to the length of this sequence.- Override hierarchy:
- insert from AbstractStringBuilder
-
inserttop
public StringBuilder insert(int dstOffset, CharSequence s)Inserts the specifiedCharSequenceinto this sequence.The characters of the
CharSequenceargument are inserted, in order, into this sequence at the indicated offset, moving up any characters originally above that position and increasing the length of this sequence by the length of the argument s.The result of this method is exactly the same as if it were an invocation of this object's insert(dstOffset, s, 0, s.length()) method.
If
sisnull, then the four characters"null"are inserted into this sequence.- Override hierarchy:
- insert from AbstractStringBuilder
-
inserttop
public StringBuilder insert(int dstOffset, CharSequence s, int start, int end)Inserts a subsequence of the specifiedCharSequenceinto this sequence.The subsequence of the argument
sspecified bystartandendare inserted, in order, into this sequence at the specified destination offset, moving up any characters originally above that position. The length of this sequence is increased byend - start.The character at index k in this sequence becomes equal to:
- the character at index k in this sequence, if
k is less than
dstOffset - the character at index k
+start-dstOffsetin the arguments, if k is greater than or equal todstOffsetbut is less thandstOffset+end-start - the character at index k
-(end-start)in this sequence, if k is greater than or equal todstOffset+end-start
The dstOffset argument must be greater than or equal to
0, and less than or equal to the length of this sequence.The start argument must be nonnegative, and not greater than
end.The end argument must be greater than or equal to
start, and less than or equal to the length of s.If
sisnull, then this method inserts characters as if the s parameter was a sequence containing the four characters"null".- Override hierarchy:
- insert from AbstractStringBuilder
- the character at index k in this sequence, if
k is less than
-
inserttop
public StringBuilder insert(int offset, Object obj)Inserts the string representation of theObjectargument into this character sequence.The second argument is converted to a string as if by the method
String.valueOf, and the characters of that string are then inserted into this sequence at the indicated offset.The offset argument must be greater than or equal to
0, and less than or equal to the length of this sequence.- Override hierarchy:
- insert from AbstractStringBuilder
-
inserttop
public StringBuilder insert(int offset, String str)Inserts the string into this character sequence.The characters of the
Stringargument are inserted, in order, into this sequence at the indicated offset, moving up any characters originally above that position and increasing the length of this sequence by the length of the argument. Ifstrisnull, then the four characters"null"are inserted into this sequence.The character at index k in the new character sequence is equal to:
- the character at index k in the old character sequence, if
k is less than
offset - the character at index k
-offsetin the argumentstr, if k is not less thanoffsetbut is less thanoffset+str.length() - the character at index k
-str.length()in the old character sequence, if k is not less thanoffset+str.length()
The offset argument must be greater than or equal to
0, and less than or equal to the length of this sequence.- Override hierarchy:
- insert from AbstractStringBuilder
- the character at index k in the old character sequence, if
k is less than
-
inserttop
public StringBuilder insert(int offset, boolean b)Inserts the string representation of thebooleanargument into this sequence.The second argument is converted to a string as if by the method
String.valueOf, and the characters of that string are then inserted into this sequence at the indicated offset.The offset argument must be greater than or equal to
0, and less than or equal to the length of this sequence.- Override hierarchy:
- insert from AbstractStringBuilder
-
inserttop
public StringBuilder insert(int offset, char[] str)Inserts the string representation of thechararray argument into this sequence.The characters of the array argument are inserted into the contents of this sequence at the position indicated by
offset. The length of this sequence increases by the length of the argument.The overall effect is exactly as if the argument were converted to a string by the method String.valueOf(char[]) and the characters of that string were then inserted into this character sequence at the position indicated by
offset.- Override hierarchy:
- insert from AbstractStringBuilder
-
inserttop
public StringBuilder insert(int index, char[] str, int offset, int len)Inserts the string representation of a subarray of thestrarray argument into this sequence. The subarray begins at the specifiedoffsetand extendslenchars. The characters of the subarray are inserted into this sequence at the position indicated byindex. The length of this sequence increases bylenchars.- Override hierarchy:
- insert from AbstractStringBuilder
-
lastIndexOftop
public int lastIndexOf(String str)Returns the index within this string of the rightmost occurrence of the specified substring. The rightmost empty string "" is considered to occur at the index valuethis.length(). The returned index is the largest value k such that
is true.this.toString().startsWith(str, k)
- Override hierarchy:
- lastIndexOf from AbstractStringBuilder
-
lastIndexOftop
public int lastIndexOf(String str, int fromIndex)Returns the index within this string of the last occurrence of the specified substring. The integer returned is the largest value k such that:
If no such value of k exists, then -1 is returned.k <_ math.minfromindex="math.minfromindex" str.length="str.length" _="_" this.tostring.startswithstr="this.tostring.startswithstr" k="k" pre="pre">- Override hierarchy:
- lastIndexOf from AbstractStringBuilder
-
readObjecttop
private void readObject(ObjectInputStream s) throws IOException, ClassNotFoundExceptionreadObject is called to restore the state of the StringBuffer from a stream. -
replacetop
public StringBuilder replace(int start, int end, String str)Replaces the characters in a substring of this sequence with characters in the specifiedString. The substring begins at the specifiedstartand extends to the character at indexend - 1or to the end of the sequence if no such character exists. First the characters in the substring are removed and then the specifiedStringis inserted atstart. (This sequence will be lengthened to accommodate the specified String if necessary.)- Override hierarchy:
- replace from AbstractStringBuilder
-
reversetop
public StringBuilder reverse()Causes this character sequence to be replaced by the reverse of the sequence. If there are any surrogate pairs included in the sequence, these are treated as single characters for the reverse operation. Thus, the order of the high-low surrogates is never reversed. Let n be the character length of this character sequence (not the length incharvalues) just prior to execution of thereversemethod. Then the character at index k in the new character sequence is equal to the character at index n-k-1 in the old character sequence.Note that the reverse operation may result in producing surrogate pairs that were unpaired low-surrogates and high-surrogates before the operation. For example, reversing "\uDC00\uD800" produces "\uD800\uDC00" which is a valid surrogate pair.
- Override hierarchy:
- reverse from AbstractStringBuilder
-
toStringtop
public String toString()Returns a string containing the characters in this sequence in the same order as this sequence. The length of the string will be the length of this sequence.- Specified by:
- toString from CharSequence
- Override hierarchy:
- toString from AbstractStringBuilder
- toString from Object
-
writeObjecttop
private void writeObject(ObjectOutputStream s) throws IOExceptionSave the state of the StringBuilder instance to a stream (that is, serialize it).
