StringBuffer insert() in Java (original) (raw)

Last Updated : 05 Dec, 2024

The **StringBuffer.insert() method in Java allows us to insert a string representation of a given data type at a specified position in a StringBuffer. This method is useful when we need to modify a string at specific positions without creating a new string each time by making it more efficient than concatenation.

**Example: In the following example, we will insert a **character into a **StringBuffer at a specified position.

Java `

// Java Program to demonstrate StringBuffer // insert() method import java.io.*;

class GFG {

public static void main(String[] args) {
  
    StringBuffer s = new StringBuffer("geeks for geeks");
  
    // Initial string
    System.out.println("String: " + s); 

    // Insert 'E' at position 2
    s.insert(2, 'E');
    
    // Prints StringBuffer after insertion
    System.out.println("After insertion: " + s);
}

}

`

Output

String: geeks for geeks After insertion: geEeks for geeks

**Explanation: In this example, we insert the character “E” at index 2 in the StringBuffer. The original string “geeks for geeks” becomes “geEeks for geeks” after the insertion.

**Syntax of StringBuffer.insert() Method

str.insert(int position, data_type value);

**Parameters:

**Return Type: This method returns a reference to the StringBuffer object.

**Exception: The position must be greater than or equal to 0, and less than or equal to the length of the string.

**Example 1: Use with Boolean Input

In this example, we insert a boolean value at a given position in the StringBuffer.

Java `

// Java program to demonstrate StringBuffer // insert() method for boolean input public class GFG {

public static void main(String[] args) {
  
    StringBuffer sb = new StringBuffer("geeks for geeks");
    System.out.println("String: " + sb); 
    
    // Insert boolean value at offset 8
    sb.insert(8, true);

    System.out.println("After insertion: " + sb);
}

}

`

Output

String: geeks for geeks After insertion: geeks fotruer geeks

**Example 2: Use with Character Array Input

In this example, we insert a character array at a given position in the StringBuffer.

Java `

// Java program to demonstrate StringBuffer // insert() method for char array input public class GFG {

public static void main(String[] args) {
  
    StringBuffer sb = new StringBuffer("geeks for geeks");
    System.out.println("String: " + sb); 
    
    // Character array to be inserted
    char[] ch = {'J', 'a', 'v', 'a'};
    
    // Insert character array at offset 8
    sb.insert(8, ch);

    System.out.println("After insertion: " + sb);
}

}

`

Output

String: geeks for geeks After insertion: geeks foJavar geeks

**Example 3: Use with Float Input

In this example, we insert a float value at a given position in the StringBuffer.

Java `

// Java program to demonstrate StringBuffer // insert() method for float input public class GFG {

public static void main(String[] args) {
  
    StringBuffer sb = new StringBuffer("geeks for geeks");
    System.out.println("String: " + sb); 
    
    // Insert float value at offset 8
    sb.insert(8, 41.35f);

    System.out.println("After insertion: " + sb);
}

}

`

Output

String: geeks for geeks After insertion: geeks fo41.35r geeks

**Example 4: Use with Double Input

In this example, we insert a double value into a StringBuffer.

Java `

// Java program to demonstrate StringBuffer // insert() method for double input public class GFG {

public static void main(String[] args) {
  
    StringBuffer sb = new StringBuffer("geeks for geeks");
    System.out.println("String: " + sb); 
    
    // Insert double value at offset 8
    sb.insert(8, 41.35d);
    
    System.out.println("After insertion: " + sb);
}

}

`

Output

String: geeks for geeks After insertion: geeks fo41.35r geeks

Example 5: Use w**ith Long Input

In this example, we insert a long value into a StringBuffer.

Java `

// Java program to demonstrate StringBuffer // insert() method for Long input public class GFG {

public static void main(String[] args) {
  
    StringBuffer sb = new StringBuffer("geeks for geeks");
    System.out.println("String: " + sb); 
    
    // Insert long value at offset 8
    sb.insert(8, 546986L);

    System.out.println("After insertion: " + sb);
}

}

`

Output

String: geeks for geeks After insertion: geeks fo546986r geeks

**Example 6: Use with Int Input

In this example, we insert an **integer into a StringBuffer.

Java `

// Java program to demonstrate StringBuffer // insert() method for Int input public class GFG {

public static void main(String[] args) {
  
    StringBuffer sb = new StringBuffer("geeks for geeks");
    System.out.println("String: " + sb);
    
    // Insert int value at offset 8
    int x = 10;
    sb.insert(8, x);

    System.out.println("After insertion: " + sb);
}

}

`

Output

String: geeks for geeks After insertion: geeks fo10r geeks