StringBuilder is the same as StringBuffer except that StringBuilder is not synchronized, hence it is not thread-safe.
i.e. StringBuilder class objects are non-thread-safe, mutable sequences of characters.
Note: StringBuilder does not override the equals method of the object class, so StringBuilder objects should be converted into string objects if you want to compare StringBuilder class objects.
Constructors of StringBuilder class:
1. public StringBuilder (): creates a string builder with no characters and with a default capacity of 16 i.e. it can contain 16 characters.
2. public StringBuilder (int capacity): creates a string builder with no characters and with specified capacity.
Note: capacity should not be less than zero, otherwise it will throw NegativeArraySizeException.
3. public StringBuilder (String str): creates a string builder with a specified string as initial content.
Initial capacity = Default capacity + length of the string.
Note:
- The string should not be null otherwise it will throw NullPointerException.
- If the string length is equal to zero then the string builder with no content and default capacity is returned.
4. public StringBuilder (CharSequence charSquence): creates a string builder with a specified character sequence as its initial content.
Note:
- charSquence should not be null otherwise it will throw NullPointerException.
- if the charSquence length is equal to zero then the string builder with no content and default capacity is returned.
Commonly used methods of StringBuilder class:
S.No. | Method | Description |
1. | append(String str) | Append the specified string at the end of this string. |
2. | insert(int offset, String str) | Insert the specified string at the offset indicated position. |
3. | replace(int startIndex, int endIndex, String str) | Replace the substring of the string builder from startIndex to endIndex-1 with the specified string. |
4. | delete(int startIndex, int endIndex) | delete the substring of the string builder from startIndex to endIndex-1. |
5. | reverse() | replace the string builder’s character sequence with a reverse character sequence. |
6. | capacity() | returns the current capacity of the string builder. Capacity refers to the amount of available storage. |
7. | ensureCapacity(int minCapacity) | ensures that the capacity is at least equal to the specified minimum. |