Java StringBuilder.subSequence() – Examples

In this tutorial, we will learn about the Java StringBuilder.subSequence() function, and learn how to use this function to find the subsequence of this StringBuilder sequence, with the help of examples.

subSequence(int start, int end)

StringBuilder.subSequence() returns a new character sequence that is a subsequence of this sequence whose start and end are specified as arguments.

ADVERTISEMENT

Syntax

The syntax of subSequence() function is

subSequence(int start, int end)

where

ParameterDescription
startThe index at which subsequence starts in StringBuilder.
endThe index at which subsequence ends in StringBuilder.

Returns

The function returns CharSequence object.

Example 1 – subSequence(start, end)

In this example, we will take a StringBuilder initialized with a sequence "abcdefghijklm", and we shall find the subsequence that starts at index 3 and ends at index 7.

Java Program

public class Example { 
    public static void main(String[] args) { 
        StringBuilder stringBuilder = new StringBuilder("abcdefghijklm");
        System.out.println("Original sequence : " + stringBuilder.toString());
        
        int start = 3;
        int end = 7;
        CharSequence str = stringBuilder.subSequence(start, end);
        System.out.println("Sub-sequence      : " + str);
    }
}

Output

Original sequence : abcdefghijklm
Sub-sequence      : defg

Example 2 – subSequence(start, end) – end > length

In this example, we will take a StringBuilder initialized with a sequence "abcdefghijklm", and we shall find the subsequence that starts at index 3 and ends at index 15. Since, the end is greater than the length of this sequence, subSequence() throws java.lang.StringIndexOutOfBoundsException.

Java Program

public class Example { 
    public static void main(String[] args) { 
        StringBuilder stringBuilder = new StringBuilder("abcdefghijklm");
        System.out.println("Original sequence : " + stringBuilder.toString());
        
        int start = 3;
        int end = 15;
        CharSequence str = stringBuilder.subSequence(start, end);
        System.out.println("Sub-sequence      : " + str);
    }
}

Output

Original sequence : abcdefghijklm
Exception in thread "main" java.lang.StringIndexOutOfBoundsException: start 3, end 15, length 13
	at java.base/java.lang.AbstractStringBuilder.checkRangeSIOOBE(Unknown Source)
	at java.base/java.lang.AbstractStringBuilder.substring(Unknown Source)
	at java.base/java.lang.StringBuilder.substring(Unknown Source)
	at java.base/java.lang.AbstractStringBuilder.subSequence(Unknown Source)
	at java.base/java.lang.StringBuilder.subSequence(Unknown Source)
	at Example.main(Example.java:8)

Example 3 – subSequence(start, end) – start > end

In this example, we will take a StringBuilder initialized with a sequence "abcdefghijklm", and we shall find the subsequence that starts at index 7 and ends at index 3. Since, the end is greater than the length of this sequence, subSequence() throws java.lang.StringIndexOutOfBoundsException.

Java Program

public class Example { 
    public static void main(String[] args) { 
        StringBuilder stringBuilder = new StringBuilder("abcdefghijklm");
        System.out.println("Original sequence : " + stringBuilder.toString());
        
        int start = 7;
        int end = 3;
        CharSequence str = stringBuilder.subSequence(start, end);
        System.out.println("Sub-sequence      : " + str);
    }
}

Output

Original sequence : abcdefghijklm
Exception in thread "main" java.lang.StringIndexOutOfBoundsException: start 7, end 3, length 13
	at java.base/java.lang.AbstractStringBuilder.checkRangeSIOOBE(Unknown Source)
	at java.base/java.lang.AbstractStringBuilder.substring(Unknown Source)
	at java.base/java.lang.StringBuilder.substring(Unknown Source)
	at java.base/java.lang.AbstractStringBuilder.subSequence(Unknown Source)
	at java.base/java.lang.StringBuilder.subSequence(Unknown Source)
	at Example.main(Example.java:8)

Conclusion

In this Java Tutorial, we have learnt the syntax of Java StringBuilder.subSequence() function, and also learnt how to use this function with the help of examples.