StringBuilder subSequence() in Java with Examples (original) (raw)

Last Updated : 23 Apr, 2023

The subSequence(int start, int end) method of StringBuilder class is the inbuilt method used to return a subsequence of characters lie between index start and end-1 of this sequence. The subsequence starts with the char value at the index start and ends with the char value at (end-1). The length of the returned subsequence is end-start. So if start is equal to end then an empty subsequence is returned.
Syntax:

public CharSequence subSequence(int start, int end)

Parameters:
This method accepts two parameters:

  1. start which is Integer type value refers to the start index of subsequence.
  2. end which is Integer type value refers to the last index of subsequence.

Returns:
This method returns the specified subsequence in range start to end-1.
Exception:
if start or end are negative, if end is greater than length(), or if start is greater than end then IndexOutOfBoundsException is thrown.
Below programs illustrate the java.lang.StringBuilder.subSequence() method:
Example 1:

Java

class GFG {

`` public static void main(String[] args)

`` {

`` StringBuilder str

`` = new StringBuilder( "WelcomeGeeks" );

`` System.out.println( "String contains = " + str);

`` System.out.println( "SubSequence = "

`` + str.subSequence( 0 , 7 ));

`` }

}

Output:

String length = 12 and contains = WelcomeGeeks SubSequence = Welcome

Example 2:

Java

class GFG {

`` public static void main(String[] args)

`` {

`` StringBuilder str

`` = new StringBuilder( "Indian Team Played Well" );

`` System.out.println( "String contains = " + str);

`` System.out.println( "SubSequence = "

`` + str.subSequence( 7 , 18 ));

`` }

}

Output:

String contains = Indian Team Played Well SubSequence = Team Played

Example 3: When start > end:

Java

class GFG {

`` public static void main(String[] args)

`` {

`` StringBuilder str

`` = new StringBuilder( "Indian Team Played Well" );

`` try {

`` System.out.println(str.subSequence( 19 , 18 ));

`` }

`` catch (Exception e) {

`` e.printStackTrace();

`` }

`` }

}

Output:

java.lang.StringIndexOutOfBoundsException: String index out of range: -1 at java.lang.AbstractStringBuilder.substring(AbstractStringBuilder.java:935) at java.lang.StringBuilder.substring(StringBuilder.java:76) at java.lang.AbstractStringBuilder.subSequence(AbstractStringBuilder.java:912) at java.lang.StringBuilder.subSequence(StringBuilder.java:76) at GFG.main(File.java:16)

References:
https://docs.oracle.com/javase/10/docs/api/java/lang/StringBuilder.html#subSequence(int, int)