Skip to content
Related Articles

Related Articles

StringBuffer subSequence() in Java with Examples
  • Last Updated : 30 Jul, 2019

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:






// 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));
    }
}


Output:

String length = 12 and contains = WelcomeGeeks
SubSequence = Welcome

Example 2:




// 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));
    }
}


Output:

String contains = Indian Team Played Well
SubSequence = Team Played

Example 3: When start > end:




// 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();
        }
    }
}


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)

Attention reader! Don’t stop learning now. Get hold of all the important Java Foundation and Collections concepts with the Fundamentals of Java and Java Collections Course at a student-friendly price and become industry ready.

My Personal Notes arrow_drop_up
Recommended Articles
Page :