The getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin) method of StringBuilder class copies the characters starting at the given index:srcBegin to index:srcEnd-1 from String contained by StringBuilder into an array of char passed as parameter to function.
- The characters are copied from StringBuilder into the array dst[] starting at index:dstBegin and ending at index:dstbegin + (srcEnd-srcBegin) – 1.
- The first character to be copied from StringBuilder to array is at index srcBegin and the last character to be copied is at index srcEnd-1.
- The total number of characters to be copied is equal to srcEnd-srcBegin.
Syntax:
public void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin)
Parameters: This method accepts four different parameters:
- srcBegin: represents index on which we have to start copying.
- srcEnd: represents index on which we have to stop copying.
- dst: represents the array to copy the data into.
- dstBegin: represents index of dest array we start pasting the copied data.
Return Value: This method does not return anything.
Exception: This method throws StringIndexOutOfBoundsException if:
- srcBegin < 0
- dstBegin < 0
- srcBegin > srcEnd
- srcEnd > this.length()
- dstBegin+srcEnd-srcBegin > dst.length
Below programs demonstrate the getChars() method of StringBuilder Class:
Example 1:
// Java program to demonstrate // the getChars() Method.   class GFG {     public static void main(String[] args)     {           // create a StringBuilder object         // with a String pass as parameter         StringBuilder             str             = new StringBuilder( "WelcomeGeeks" );           // print string         System.out.println( "String = "                            + str.toString());           // create a char Array         char [] array = new char [ 7 ];           // get char from index 0 to 7         // and store in array start index 0         str.getChars( 0 , 7 , array, 0 );           // print char array after operation         System.out.print( "Char array contains : " );           for ( int i = 0 ; i < array.length; i++) {             System.out.print(array[i] + " " );         }     } } |
String = WelcomeGeeks Char array contains : W e l c o m e
Example 2:
// Java program to demonstrate // the getChars() Method.   import java.util.*;   class GFG {     public static void main(String[] args)     {           // create a StringBuilder object         // with a String pass as parameter         StringBuilder             str             = new StringBuilder( "evil dead_01" );           // print string         System.out.println( "String = "                            + str.toString());           // create a char Array         char [] array = new char [ 10 ];           // initialize all character to _(underscore).         Arrays.fill(array, '_' );           // get char from index 5 to 9         // and store in array start index 3         str.getChars( 5 , 9 , array, 3 );           // print char array after operation         System.out.print( "char array contains : " );           for ( int i = 0 ; i < array.length; i++) {             System.out.print(array[i] + " " );         }     } } |
String = evil dead_01 char array contains : _ _ _ d e a d _ _ _
Example 3: To demonstrate StringIndexOutOfBoundException
// Java program to demonstrate // exception thrown by the getChars() Method.   import java.util.*;   class GFG {     public static void main(String[] args)     {           // create a StringBuilder object         // with a String pass as parameter         StringBuilder             str             = new StringBuilder( "evil dead_01" );           // create a char Array         char [] array = new char [ 10 ];           // initialize all character to _(underscore).         Arrays.fill(array, '_' );           try {               // if start is greater then end             str.getChars( 5 , 2 , array, 0 );         }           catch (Exception e) {             System.out.println( "Exception: " + e);         }     } } |
Exception: java.lang.StringIndexOutOfBoundsException: srcBegin > srcEnd