Open In App

StringBuffer subSequence() in Java with Examples

Improve
Improve
Like Article
Like
Save
Share
Report

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 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.StringBuffer.subSequence() method: 
Example 1: 

Java




// 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 between index 0 to 7
        // using subSequence() and print
        System.out.println("SubSequence = "
                           + str.subSequence(0, 7));
    }
}


Output: 

String length = 12 and contains = WelcomeGeeks
SubSequence = Welcome

Example 2: 

Java




// 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 between index 0 to 7
        // using subSequence() and print
        System.out.println("SubSequence = "
                           + str.subSequence(7, 18));
    }
}


Output: 

String contains = Indian Team Played Well
SubSequence = Team Played

Example 3: When start > end:

Java




// 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 between index 0 to 7
            // using subSequence() and print
            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.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)



Last Updated : 17 Feb, 2022
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads