StringBuilder in Java

Java StringBuilder class is introduced since JDK 1.5. The StringBuilder class is mainly used to create modifiable or mutable strings. Note that the StringBuilder class is not synchronized. The methods of the StringBuilder class are very much identical to the methods of the StringBuffer class.


Java StringBuilder Constructor

The StringBuilder class provides the following constructors:

1) StringBuilder(): The default constructor creates an empty StringBuilder and provides the initial capacity for 16 characters.

2) StringBuilder(int capacity): The parameterized constructor creates an empty StringBuilder and provides the capacity specified in the argument.

3)StringBuilder(CharSequence sequence): Another parametrized constructor that builds a non-empty String builder using the character sequence mentioned in the argument.

4) StringBuilder(String st): Another parametrized constructor that makes a non-empty String Builder using the content provided in the argument.
The following code uses the above-mentioned constructors to create objects of the StringBuilder class.

FileName: StringBuilderExample.java

Output:


Explanation: After creating different objects of the StringBuilder class, the toString() method is invoked on the objects to return the string, which represents the data contained in the String Builder object.

Java StringBuilder Class Methods
The StringBuilder class has a lot of inbuilt methods. A few of them are mentioned below.

Method NameDescription
public StringBuilder append(String str)Used to add string str at the end of the string on which the append() method is called. The append() method is overloaded with primitive data types like append(int), append(float), etc.
public StringBuilder replace(int start, int end, String s)Replaces the specified string from index start to index end using the string s.
public StringBuilder delete(int start, int end)Modifies the specified string by deleting its characters from the start index to the end index.
public int capacity()Returns the capacity
public char charAt(int idx)Whatever character is present at the index idx gets returned upon the invocation of this method.
public String substring(int i)Returns a substring of the specified string that starts from the index i
public String substring(int start, int end)Returns a substring of the specified string that starts from the index start and goes till the end index.
public StringBuilder reverse()Manipulates the specified string by reversing it
public void ensureCapacity(int minCapacity)Ensures that capacity is at least equal to the argument minCapacity
public StringBuilder delete(int start, int end)Modifies the specified string by deleting characters from the start index to end index
public StringBuilder insert(int offset, String str)Inserts the string str in the specified string at the particular location by using the help of offset. The overloaded version of the method also exists for primitive data types.
public void setCharAt(int i, char c)Modifies the given string by replacing the character at the index i with character c.


Let’s use the StringBuilder class methods in Java program.

The insert() method

FileName: StringBuilderMethodsExample.java

Output:

Explanation: It is evident that, when the insert() method inserts the specified string at any specified index, the characters present at, and after that index gets shifted to make space for the string to be inserted.

The charAt() method

FileName: StringBuilderMethodsExample1.java

Output:

Explanation: In the above program, the variable ch stores the character present at the index i.

The replace() method

FileName: StringBuilderMethodsExample2.java

Output:

Explanation: The replace() method considers the indices just before the end index, starting from the start index. Thus, as per the above program, the replace() method considers indices from 8  to (10 – 1), i.e., 8 to 9. Thus, characters ‘r’ and ‘l’ are omitted, and the output confirms the same.

The delete() method

FileName: StringBuilderMethodsExample3.java

Output:

Explanation: Similar to the replace() method, the delete() method considers the index, which is just before the specified ending index, as its last index (endIndex – 1 in our case). The start index is startIndex. Hence, characters ‘r’ and ‘l’ get omitted, which is evident by looking at the output.

The reverse() method

FileName: StringBuilderMethodsExample4.java

Output:

Explanation: In the program, the variable newSb stores the reversed string that is getting displayed in the output. The reverse() method comes in handy when one wants to check for palindromic strings.

The substring() method – I

FileName: StringBuilderMethodsExample5.java

Output:

Explanation: In the above program, we have only specified the starting index of the substring. The last index of the substring automatically becomes the last index of the given string.

The substring() method – II

FileName: StringBuilderMethodsExample6.java

Output:

Explanation: The substring() method used in the above program is another version that requires the ending index too. Thus, whatever is present between the starting and ending index gets printed on the console.

The capacity() method

FileName: StringBuilderMethodsExample7.java

Output:

Explanation: In the program, the parameterless constructor is invoked. Therefore, the capacity is 16.

The ensureCapacity() method

FileName: StringBuilderMethodsExample8.java

Output:

Explanation: In the above program, the ensureCapacity() method takes minCapacity in its argument. Therefore, the current capacity has to be greater than or equal to the value fetched by the variable minCapacity.

The setCharAt() method

FileName: StringBuilderMethodsExample9.java

Output:

Explanation: The setCharAt() method replaces the character present at the specified with the character provided by the user in its argument. In the above program, the character ‘o’ of the word ‘World’ is getting replaced by the character ‘r’.

Pin It on Pinterest

Share This