Método StringBuffer getChars() en Java con ejemplos

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] + " ");
        }
    }
}
Producción:

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);
        }
    }
}
Producción:

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *