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.
Java
Java
Java
- 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.
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.
- srcBegin < 0
- dstBegin < 0
- srcBegin > srcEnd
- srcEnd > this.length()
- dstBegin+srcEnd-srcBegin > dst.length
// 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] + " ");
}
}
}
Output:
Example 2:
String = WelcomeGeeks Char array contains : W e l c o m e
// 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] + " ");
}
}
}
Output:
Example 3: To demonstrate StringIndexOutOfBoundException
String = evil dead_01 char array contains : _ _ _ d e a d _ _ _
// 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);
}
}
}
Output:
Reference:
https://docs.oracle.com/javase/10/docs/api/java/lang/StringBuilder.html#getChars(int, int, char%5B%5D, int)Exception: java.lang.StringIndexOutOfBoundsException: srcBegin > srcEnd