StringBuilder insert() in Java

insert(): This method is available in java.lang.StringBuilder class of Java.

Syntax:

StringBuilder java.lang.StringBuilder.insert(int offset, Object obj)

This method takes two arguments, one of type int and another of type Object (int, boolean, String, etc) This method inserts the string representation of the Object argument into this character sequence. The overall effect is exactly as if the second argument were converted to a string, and the characters of that string were then inserted into this character sequence at the specified offset.

Note: The offset argument must be greater than or equal to 0, and less than or equal to the length of this sequence.

Parameters: Two parameters are required for this method.

offset the offset.

obj: an Object.

Returns: a reference to this object.

Throws: 

StringIndexOutOfBoundsException - if the offset is invalid.

Approach 1: When the index is in the range.

Java

public class InsertStringBuilder {
    public static void main(String[] args) {

        StringBuilder str = new StringBuilder("Hello World");

        // insert boolean
        int offset = 3;
        boolean b = true;
        str.insert(offset, b);
        System.out.println("After boolean insert = " + str);

        // insert char
        offset = 4;
        char c = 'a';
        str.insert(offset, c);
        System.out.println("After char insert = " + str);

        // insert char array
        offset = 5;
        char arr[] = { 'A''B''C' };
        str.insert(offset, arr);
        System.out.println("After char array insert = " + str);

        // insert CharSequence
        offset = 6;
        CharSequence s = "XYZ";
        str.insert(offset, s);
        System.out.println("After CharSequence insert = " + str);

        // insert double
        offset = 5;
        double d = 1888.9;
        str.insert(offset, d);
        System.out.println("After double insert = " + str);

        // insert float
        offset = 2;
        float f = 98.5f;
        str.insert(offset, f);
        System.out.println("After float insert = " + str);

        // insert int
        offset = 4;
        int i = -7;
        str.insert(offset, i);
        System.out.println("After int insert = " + str);

        // insert long
        offset = 5;
        long l = 477272;
        str.insert(offset, l);
        System.out.println("After long insert = " + str);

        // insert String
        offset = 4;
        String str1 = "WQA";
        str.insert(offset, str1);
        System.out.println("After String insert = " + str);

    }
}


Output:

After boolean insert = Heltruelo World After char insert = Heltaruelo World After char array insert = HeltaABCruelo World After CharSequence insert = HeltaAXYZBCruelo World After double insert = Helta1888.9AXYZBCruelo World After float insert = He98.5lta1888.9AXYZBCruelo World After int insert = He98-7.5lta1888.9AXYZBCruelo World After long insert = He98-4772727.5lta1888.9AXYZBCruelo World After String insert = He98WQA-4772727.5lta1888.9AXYZBCruelo World


Approach 2: When the index is out of range.

Java

public class InsertStringBuilder {
    public static void main(String[] args) {

        StringBuilder str = new StringBuilder("Hello World");

        // insert object
        int offset = 15;
        Object ob = 10;
        str.insert(offset, ob);
        System.out.println(str);
    }
}


Output:

Exception in thread "main" java.lang.StringIndexOutOfBoundsException: offset 15, length 11 at java.base/java.lang.String.checkOffset(String.java:3704) at java.base/java.lang.AbstractStringBuilder.insert(AbstractStringBuilder.java:1166) at java.base/java.lang.StringBuilder.insert(StringBuilder.java:330) at java.base/java.lang.StringBuilder.insert(StringBuilder.java:85) at java.base/java.lang.AbstractStringBuilder.insert(AbstractStringBuilder.java:1131) at java.base/java.lang.StringBuilder.insert(StringBuilder.java:321)


No comments:

Post a Comment