El método getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin) de la clase StringBuffer copia los caracteres que comienzan en index:srcBegin a index:srcEnd-1 de la secuencia real en una array de char pasada como parámetro a la función.
- Los caracteres se copian en la array de char dst[] comenzando en index:dstBegin y terminando en index:dstbegin + (srcEnd-srcBegin) – 1.
- El primer carácter que se copiará a la array está en el índice srcBegin y el último carácter que se copiará está en el índice srcEnd-1.
- El número total de caracteres a copiar es igual a srcEnd-srcBegin.
Sintaxis:
public void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin)
Parámetros: Este método toma cuatro parámetros:
- srcBegin : el valor int representa el índice en el que se iniciará la copia.
- srcEnd : el valor int representa el índice en el que se detendrá la copia.
- dst : la array de caracteres representa la array en la que copiar los datos.
- dstBegin : el valor int representa el índice de la array de destino para comenzar a pegar los datos copiados.
Devoluciones: este método no devuelve nada.
Excepción: este método arroja una excepción StringIndexOutOfBoundsException si:
- srcBegin < 0
- dstBegin < 0
- inicio_origen > fin_origen
- srcEnd > this.longitud()
- dstBegin+srcEnd-srcBegin > dst.longitud
Los siguientes programas demuestran el método getChars() de la clase StringBuffer:
Ejemplo 1:
// Java program to demonstrate // the getChars() Method. import java.util.*; class GFG { public static void main(String[] args) { // create a StringBuffer object // with a String pass as parameter StringBuffer str = new StringBuffer("Geeks For Geeks"); // print string System.out.println("String = " + str.toString()); // create a char Array char[] array = new char[15]; // initialize all character to .(dot). Arrays.fill(array, '.'); // get char from index 0 to 9 // and store in array start index 3 str.getChars(0, 9, array, 1); // 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 = Geeks For Geeks char array contains : . G e e k s F o r . . . . .
Ejemplo 2: Para demostrar StringIndexOutOfBoundsException.
// Java program to demonstrate // exception thrown by the getChars() Method. import java.util.*; class GFG { public static void main(String[] args) { // create a StringBuffer object // with a String pass as parameter StringBuffer str = new StringBuffer("Contribute Geeks"); // create a char Array char[] array = new char[10]; // initialize all character to $(dollar sign). Arrays.fill(array, '$'); try { // if start is greater then end str.getChars(2, 1, array, 0); } catch (Exception e) { System.out.println("Exception: " + e); } } }
Exception: java.lang.StringIndexOutOfBoundsException: srcBegin > srcEnd
Referencias:
https://docs.oracle.com/javase/10/docs/api/java/lang/StringBuffer.html#getChars(int, int, char%5B%5D, int)
Publicación traducida automáticamente
Artículo escrito por AmanSingh2210 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA