Java.lang.StringBuffer.insert() Method



The java.lang.StringBuffer.insert(int dstOffset, CharSequence s, int start, int end) method inserts a subsequence of the specified CharSequence into this sequence.

The subsequence of the argument s specified by start and end are inserted, in order, into this sequence at the specified destination offset, moving up any characters originally above that position. The length of this sequence is increased by end - start.


Following is the declaration for java.lang.StringBuffer.insert() method

public StringBuffer insert(int dstOffset, CharSequence s, int start, int end)


  • dstOffset − This is the offset in this sequence.

  • s − This is the sequence to be inserted.

  • start − This is the starting index of the subsequence to be inserted.

  • end − This is the end index of the subsequence to be inserted.

Return Value

This method returns a reference to this object.


IndexOutOfBoundsException − if dstOffset is negative or greater than this.length(), or start or end are negative, or start is greater than end or end is greater than s.length().


The following example shows the usage of java.lang.StringBuffer.insert() method.

package com.tutorialspoint;

import java.lang.*;

public class StringBufferDemo {

   public static void main(String[] args) {
      StringBuffer buff = new StringBuffer("tutorials");
      System.out.println("buffer = " + buff);

      CharSequence cSeq = "collection";
      /* insert CharSequence at offset 8 with start index 0 and end index 10 */
      buff.insert(8, cSeq, 0, 10);

      // prints stringbuffer after insertion
      System.out.print("After insertion = ");

Let us compile and run the above program, this will produce the following result −

buffer = tutorials
After insertion = tutorialcollections