Java StringBuilder: Usage and Examples
Table of Content:
J2SE 1.5 adds a new string class to Java's already powerful string handling capabilities.
This new class is called StringBuilder
. Java StringBuilder class is used to create mutable (modifiable) string.
StringBuilder
is identical to StringBuffer except for one important difference that it is not synchronized,
which means it is not thread safe. Its because StringBuilder methods are not synchronised.
Advantage
The advantage of StringBuilder is faster performance than StringBuffer.
Why and when we should use StringBuilder
A mutable sequence of characters. 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.
StringBuilder Constructors
Constructor | Description |
---|---|
StringBuilder() | creates an empty string Builder with the initial capacity of 16. |
StringBuilder(String str) | creates a string Builder with the specified string. |
StringBuilder(int length) | creates an empty string Builder with the specified capacity as length. |
Some Important Methods in Java for Beginner
1) StringBuilder append() method
Program
class StringBuilderAppend{ public static void main(String args[]){ StringBuilder sb=new StringBuilder("welcome "); sb.append("to atnyla");//now original string is changed System.out.println(sb); } }
Output
welcome to atnyla Press any key to continue . . .
2) StringBuilder insert() method
Program
class StringBuilderInsert{ public static void main(String args[]){ StringBuilder strng=new StringBuilder("Welcome "); strng.insert(1,"Java");//now original string is changed System.out.println(strng); } }
Output
WJavaelcome Press any key to continue . . .
3) StringBuilder replace() method
Program
class StringBuilderReplace{ public static void main(String args[]){ StringBuilder strng=new StringBuilder("Welcome"); strng.replace(1,3,"Java"); System.out.println(strng); } }
Output
WJavacome Press any key to continue . . .
4) StringBuilder delete() method
Program
class StringBuilderDelete{ public static void main(String args[]){ StringBuilder strng=new StringBuilder("Welcome"); strng.delete(1,3); System.out.println(strng); } }
Output
WJavacome Press any key to continue . . .
5) StringBuilder reverse() method
Program
class StringBuilderReverse{ public static void main(String args[]){ StringBuilder strng=new StringBuilder("Welcome"); strng.reverse(); System.out.println(strng); } }
Output
emocleW Press any key to continue . . .
More Methods in Java
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 sequence. |
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()
Returns the current capacity.
|
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 the characters in a substring of this sequence.
|
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.
|
From Oracle doc