StringBuffer subSequence() in Java with Examples

The subSequence(int start, int end) method of StringBuffer 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 endex of subsequence.
  2. end which is Integer type value refers to the last endex 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.StringBuffer.subSequence() method:
Example 1:

filter_none

edit
close

play_arrow

link
brightness_4
code

// Java program to demonstrate
// the subSequence() Method.
  
class GFG {
  
    public static void main(String[] args)
    {
        // create a StringBuffer object
        // with a String pass as parameter
        StringBuffer str
            = new StringBuffer("WelcomeGeeks");
  
        // print string
        System.out.println("String contains = " + str);
  
        // get subSequence bewteen index 0 to 7
        // using subSequence() and print
        System.out.println("SubSequence = "
                           + str.subSequence(0, 7));
    }
}

chevron_right


Output:

String length = 12 and contains = WelcomeGeeks
SubSequence = Welcome

Example 2:

filter_none

edit
close

play_arrow

link
brightness_4
code

// Java program to demonstrate
// the subSequence() Method.
  
class GFG {
  
    public static void main(String[] args)
    {
        // create a StringBuffer object
        // with a String pass as parameter
        StringBuffer str
            = new StringBuffer("Indian Team Played Well");
  
        // print string
        System.out.println("String contains = " + str);
  
        // get subSequence bewteen index 0 to 7
        // using subSequence() and print
        System.out.println("SubSequence = "
                           + str.subSequence(7, 18));
    }
}

chevron_right


Output:

String contains = Indian Team Played Well
SubSequence = Team Played

Example 3: When start > end:

filter_none

edit
close

play_arrow

link
brightness_4
code

// Java program to demonstrate
// Exception thrown by the subSequence() Method.
  
class GFG {
  
    public static void main(String[] args)
    {
        // create a StringBuffer object
        // with a String pass as parameter
        StringBuffer str
            = new StringBuffer("Indian Team Played Well");
  
        try {
            // get subSequence bewteen index 0 to 7
            // using subSequence() and print
            System.out.println(str.subSequence(19, 18));
        }
        catch (Exception e) {
            e.printStackTrace();
        }
    }
}

chevron_right


Output:

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

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



My Personal Notes arrow_drop_up

I am a Developer I love to code and bring my ideas alive

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.



Improved By : Akanksha_Rai