Java

Java StringBuffer Class

Mutable strings are created using the Java StringBuffer class. A string that can be changed is said to be changeable. Java’s String class may be replaced with StringBuffer. We shall go into depth about the StringBuffer class in this manual. We’ll also go through key Java StringBuffer class methods with examples.

Constructors of StringBuffer class

Constructor Description
StringBuffer() This is the default constructor of the StringBuffer class, it creates an empty StringBuffer instance with the default capacity of 16.
StringBuffer(String str) This creates a StringBuffer instance with the specified string.
StringBuffer(int capacity) This creates StringBuffer instance with the specified capacity instead of the default capacity 16.
StringBuffer(CharSequence cs) It creates a StringBuffer instance with the specified character sequence.

Example of various constructors of StringBuffer class:

public class JavaExample {
  public static void main(String args[]) {
    //creating StringBuffer object using default constructor
    StringBuffer sb = new StringBuffer();
    //appending a string to newly created instance
    sb.append("BeginnersBook.com");
    System.out.println("First String: "+sb);

    //Using StringBuffer(String str) constructor
    String str = "hello";
    StringBuffer sb2 = new StringBuffer(str);
    System.out.println("Second String: "+sb2);

    //Using StringBuffer(int Capacity) constructor
    StringBuffer sb3 = new StringBuffer(24);
    System.out.println("Capacity of sb3: "+sb3.capacity());

    //creating StringBuffer(CharSequence cs) constructor
    StringBuffer sb4 = new StringBuffer("Welcome");
    System.out.println("Fourth String: "+sb4);
  }
}

Output:

Java StringBuffer Class

Methods of StringBuffer class in Java

Method Signature Description
public synchronized StringBuffer append (String str) It appends (concatenates) the specified string str to the already existing StringBuffer value.
public synchronized StringBuffer insert (int pos, String str) It inserts the specified string str at the specified position pos.
public synchronized StringBuffer replace(int startIndex, int endIndex, String str) It replaces the string between the specified startIndex and endIndex with the specified string str.
public synchronized StringBuffer delete(int startIndex, int endIndex) It deletes a portion of the string from the specified startIndex till endIndex.
public synchronized StringBuffer reverse() It is used to reverse the given string.
public int capacity() It prints the current capacity of the StringBuffer instance
public void ensureCapacity(int minElements) It increases the capacity of the StringBuffer to ensure that it can hold at least the mentioned minElements.
public char charAt(int index) Returns the character
public int length() Returns the length of the current string.
public String substring(int startIndex) Returns substring starting from the specified startIndex.
public String substring(int startIndex, int endIndex) Returns substring starting from the specified startIndex till specified endIndex.
public int indexOf(String subStr) It returns the index of first occurrence of the specified substring subStr in the given string.
public int lastIndexOf(String str) It returns the index of the last occurrence of the specified substring subStr in the given string.
public void trimToSize() It attempts to trim the free size of the StringBuffer, if possible.
public int codePointBefore() It returns the unicode code point value for the character before the specified index.

Java StringBuffer Examples

Example 1: StringBuffer insert() method

public class JavaExample {
  public static void main(String args[]) {
    StringBuffer sb = new StringBuffer("This is Text");
    //insert "a Sample" string after "is"
    //index starts with 0 so the index of s is 6
    sb.insert(7, " a Sample");
    System.out.println(sb);
  }
}

Output:

 

Example 2: StringBuffer append() method

public class JavaExample {
  public static void main(String args[]) {
    StringBuffer sb = new StringBuffer("Welcome to");

    //appending specified string at the end of given string
    sb.append(" BeginnersBook.com");
    System.out.println(sb);
  }
}

Output:

Java StringBuffer Class

Example 3: StringBuffer replace() method

public class JavaExample{
  public static void main(String args[]){
    StringBuffer sb=new StringBuffer("Hi Guys!");

    //replace "Hi" with "Hello"
    sb.replace(0,2,"Hello");
    System.out.println(sb);
  }
}

Output:

Java StringBuffer Class

Example 4: StringBuffer reverse() method

public class JavaExample{
  public static void main(String args[]){
    StringBuffer sb=new StringBuffer("Text");

    //reverses the string "Text"
    sb.reverse();
    System.out.println("Reversed String: "+sb);
  }
}

Output:

Java StringBuffer Class

Example 5: StringBuffer delete() method

public class JavaExample{
  public static void main(String args[]){
    StringBuffer sb=new StringBuffer("BeginnersBook");

    //delete substring "Beginners"
    sb.delete(0, 9);
    System.out.println(sb);
  }
}

Output:

Java StringBuffer Class

Example 6: StringBuffer capacity() method

public class JavaExample{
  public static void main(String args[]){
    StringBuffer sb=new StringBuffer();
    //default capacity 16
    System.out.println("Current Capacity: "+sb.capacity());

    //appended string is 13 chars, can be adjusted in current
    //capacity so no capacity increase
    sb.append("BeginnersBook");
    System.out.println("Current Capacity: "+sb.capacity());

    //Need to increase capacity to append
    //this string. (16*2) +2 = 34
    sb.append("Book");
    System.out.println("Current Capacity: "+sb.capacity()); //34
  }
}

Output:

Java StringBuffer Class

Example 7: StringBuffer length() method

public class JavaExample{
  public static void main(String args[]){
    StringBuffer sb=new StringBuffer();
    sb.append("Welcome");
    System.out.println("Length of string: "+sb.length());
  }
}

Output:

Java StringBuffer Class

Example 8: StringBuffer indexOf() method

public class JavaExample{
  public static void main(String args[]){
    StringBuffer sb=new StringBuffer();
    sb.append("Welcome");
    System.out.println("String: "+sb);
    System.out.println("Index of substring come: "+sb.indexOf("come"));
  }
}

Output:

Java StringBuffer Class

Example 9: StringBuffer charAt() method

public class JavaExample{
  public static void main(String args[]){
    StringBuffer sb=new StringBuffer();
    sb.append("Welcome");
    System.out.println("String: "+sb);
    System.out.println("Char at index 3 is: "+sb.charAt(3));
  }
}

Output:

Java StringBuffer Class

Conclusion

The Java StringBuffer class and its methods were covered in this article with examples. Java String and Java StringBuilder lessons may be used to learn more about strings. You may also visit our Java lesson area to begin studying other similar courses in depth.

Related Articles

Leave a Reply

Your email address will not be published. Required fields are marked *

Back to top button