This article describes the important methods used in the Java StringBuffer class by providing suitable examples for each method.
Before reading further, here are the previous parts of this series.
In this lecture, we will learn an important method of the Java StringBuffer class, which is the insert() method.

Method: StringBuffer insert()

This method inserts the character or string within a given string at a specified position.
The following parameters are overloaded in this method.
First of all, we will proceed with the top two methods.
Let's proceed further to understand the example based on the preceding two methods.
Example

This example contains a description of the preceding insert methods.
  1. public class InsertStringObjectMethods
  2. {
  3. public static void main(String args[])
  4. {
  5. StringBuffer str1 = new StringBuffer("We coding");
  6. System.out.println("Output for insert(int offset, String str):");
  7. System.out.println();
  8. System.out.println("Buffer is: " + str1);
  9. str1.insert(2, " love"); //insert string at offset 2
  10. System.out.println("After inserting string at offset 2 is: " + str1.toString()); //prints StringBuffer after inserting
  11. str1 = new StringBuffer("1245689");
  12. System.out.println("Buffer is: " + str1);
  13. str1.insert(2, "3").insert(6, "7");
  14. System.out.println("After inserting strings at offset 2 & 5 is: " + str1.toString());
  15. System.out.println();
  16. System.out.println("Output for insert(int offset, Object obj):");
  17. System.out.println();
  18. StringBuffer str2 = new StringBuffer("Fourth");
  19. System.out.println("Buffer is: " + str2);
  20. Object obj1 = " lecture"; //object to be inserted
  21. str2.insert(6, obj1); //insert string at offset 6
  22. System.out.println("After inserting string at offset 6 is: " + str2.toString()); //prints StringBuffer after inserting
  23. str2 = new StringBuffer("ABC123");
  24. System.out.println("Buffer is: " + str2);
  25. Object obj2 = "DEF";
  26. Object obj3 = "456";
  27. str2.insert(6, obj2).insert(9, obj3);
  28. System.out.println("After inserting strings at offset 6 & 8 is: " + str2.toString());
  29. }
  30. }
Output

Our next points of discussion are the following 5 methods.
All the preceding methods throws the exception StringIndexOutOfBoundsException() if the offset value is not valid.
Now, here's an example.
Example
This example contains a description of the 5 methods given above.
  1. public class InsertIntLongFloatDoublebooleanMethods
  2. {
  3. public static void main(String args[])
  4. {
  5. StringBuffer str1 = new StringBuffer("Got likes");
  6. System.out.println("Output for insert(int offset, int i):");
  7. System.out.println();
  8. System.out.println("Buffer is: " + str1);
  9. str1.insert(4, 137); //insert integer value at offset 3
  10. System.out.println("After inserting integer value at offset 3 is: " + str1.toString()); //prints StringBuffer after inserting
  11. str1 = new StringBuffer("@!&*$$*&!@");
  12. System.out.println("Buffer is: " + str1);
  13. str1.insert(1, 78).insert(7, 258).insert(14, 87);
  14. System.out.println("After inserting integer value at offset 1,7 & 14 is: " + str1.toString());
  15. System.out.println();
  16. System.out.println("Output for insert(int offset, long lng):");
  17. System.out.println();
  18. StringBuffer str2 = new StringBuffer("Call me at anytime");
  19. System.out.println("Buffer is: " + str2);
  20. str2.insert(11, 879129217); //insert long value at offset 11
  21. System.out.println("After inserting long value at offset 11 is: " + str2.toString()); //prints StringBuffer after inserting
  22. str2 = new StringBuffer(" OR ");
  23. System.out.println("Buffer is: " + str2);
  24. str2.insert(0, 987431378).insert(13, 979487639);
  25. System.out.println("After inserting long value at offset 0 & 13 is: " + str2.toString());
  26. System.out.println();
  27. System.out.println("Output for insert(int offset, float f):");
  28. System.out.println();
  29. StringBuffer str3 = new StringBuffer("Rate is per item");
  30. System.out.println("Buffer is: " + str3);
  31. str3.insert(8, 3.14); //insert float value at offset 8
  32. System.out.println("After inserting float value at offset 8 is: " + str3.toString()); //prints StringBuffer after inserting
  33. str3 = new StringBuffer("Min rate & max rate ");
  34. System.out.println("Buffer is: " + str3);
  35. str3.insert(9, 81.4).insert(25, 314.5);
  36. System.out.println("After inserting float value at offset 9 & 25 is: " + str3.toString());
  37. System.out.println();
  38. System.out.println("Output for insert(int offset, double d):");
  39. System.out.println();
  40. StringBuffer str4 = new StringBuffer("Pay amount");
  41. System.out.println("Buffer is: " + str4);
  42. str4.insert(4, 796594.8524); //insert double value at offset 4
  43. System.out.println("After inserting double value at offset 4 is: " + str4.toString()); //prints StringBuffer after inserting
  44. str4 = new StringBuffer("Total is + ");
  45. System.out.println("Buffer is: " + str4);
  46. str4.insert(9, 67633.87).insert(20, 213576.346);
  47. System.out.println("After inserting double value at offset 9 & 13 is: " + str4.toString());
  48. System.out.println();
  49. System.out.println("Output for insert(int offset, double d):");
  50. System.out.println();
  51. StringBuffer str5 = new StringBuffer("You are ");
  52. System.out.println("Buffer is: " + str5);
  53. str5.insert(8, true); //insert boolean value at offset 8
  54. System.out.println("After inserting boolean value at offset 8 is: " + str5.toString()); //prints StringBuffer after inserting
  55. str5 = new StringBuffer("You both are and else are ");
  56. System.out.println("Buffer is: " + str5);
  57. str5.insert(13, false).insert(32, true);
  58. System.out.println("After inserting boolean value at offset 13 & 32 is: " + str5.toString());
  59. }
  60. }
Output
In the next lecture, we will continue with a few more insert() methods along with some other methods. Until then, thank you, keep learning and sharing.