In StringBuffer class, there are two types of substring method depending upon the parameters passed to it.
substring(int start)
The substring(int start) method of StringBuffer class is the inbuilt method used to return a substring start from index start and extends to end of this sequence. The string returned by this method contains all character from index start to end of the old sequence.
Syntax:
public String substring(int start)
Parameters: This method accepts only one parameter start which is Integer type value refers to the start index of substring.
Return Value: This method returns the substring lie in the range start to end of old sequence.
Exception: This method throws StringIndexOutOfBoundsException if start is less than zero, or greater than the length of this object.
Below programs illustrate the StringBuffer substring() method:
Example 1:
// Java program to demonstrate // the substring() Method. class GFG { public static void main(String[] args) { // create a StringBuffer object // with a String pass as parameter StringBuffer str = new StringBuffer( "GeeksForGeeks" ); // print string System.out.println( "String contains = " + str); // get substring start from index 5 // using substring() and print results System.out.println( "SubSequence = " + str.substring( 5 )); } } |
String contains = GeeksForGeeks SubSequence = ForGeeks
Example 2: To demonstrate StringIndexOutOfBoundsException
// Java program to demonstrate // Exception thrown by the substring() 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 substring starts from index -7 // using substring() and print str.substring(- 7 ); } catch (Exception e) { System.out.println( "Exception: " + e); } } } |
Exception: java.lang.StringIndexOutOfBoundsException: String index out of range: -7
substring(int start, int end)
The substring(int start, int end) method of StringBuffer class is the inbuilt method used to return a substring start from index start and extends to the index end-1 of this sequence. The string returned by this method contains all character from index start to index end-1 of the old sequence.
Syntax:
public String substring(int start)
Parameters: This method accepts two parameter start which is Integer type value refers to the start index of substring and end which is also a Integer type value refers to the end index of substring.
Return Value: This method returns the substring lie in the range index start to index end-1 of old sequence.
Exception: This method throws StringIndexOutOfBoundsException if start or end are negative or greater than length(), or start is greater than end.
Below programs illustrate the StringBuffer.substring() method:
Example 1:
// Java program to demonstrate // the substring() Method. class GFG { public static void main(String[] args) { // create a StringBuffer object // with a String pass as parameter StringBuffer str = new StringBuffer( "GeeksForGeeks" ); // print string System.out.println( "String contains = " + str); // get substring start from index 5 to index 8 // using substring() and print results System.out.println( "SubSequence = " + str.substring( 5 , 8 )); } } |
String contains = GeeksForGeeks SubSequence = For
Example 2: To demonstrate StringIndexOutOfBoundsException
// Java program to demonstrate // Exception thrown by the substring() 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 substring starts from index 7 // and end at index 3 // using substring() and print str.substring( 9 , 3 ); } catch (Exception e) { System.out.println( "Exception: " + e); } } } |
Exception: java.lang.StringIndexOutOfBoundsException: String index out of range: -6
References: