Método CharBuffer wrap() en Java

envolver (array de caracteres [])

El método wrap() de java.nio.CharBuffer Class se utiliza para envolver una array de caracteres en un búfer. El nuevo búfer estará respaldado por la array de caracteres dada. Como consecuencia, cualquier modificación en el búfer hará que la array se modifique y viceversa. La capacidad del nuevo búfer está determinada por array.length , su posición será cero y su marca no estará definida. Su array de respaldo será la array dada, y su desplazamiento de array será cero.

Sintaxis:

public static CharBuffer wrap(char[] array)

Parámetros: este método acepta una array como parámetro que respaldará este búfer.

Valor devuelto: este método devuelve el nuevo búfer de caracteres.

A continuación se muestran los ejemplos para ilustrar el método wrap() :

Ejemplo 1:

// Java program to demonstrate
// wrap() method
  
import java.nio.*;
import java.util.*;
  
public class GFG {
    public static void main(String[] args)
    {
  
        // Declare and initialize the char array
        char[] cbb = { 'a', 'b', 'c' };
  
        // print the char array length
        System.out.println("Array length : " + cbb.length);
  
        // print the char array element
        System.out.println("\nArray element : "
                           + Arrays.toString(cbb));
  
        // wrap the char array into charBuffer
        // using wrap() method
        CharBuffer charBuffer = CharBuffer.wrap(cbb);
  
        // Rewind the intbuffer
        charBuffer.rewind();
  
        // print the char buffer
        System.out.println("\ncharBuffer : "
                           + Arrays.toString(charBuffer.array()));
  
        // print the CharBuffer capacity
        System.out.println("\ncharbuffer capacity : "
                           + charBuffer.capacity());
  
        // print the CharBuffer position
        System.out.println("\ncharbuffer position: "
                           + charBuffer.position());
    }
}
Producción:

Array length : 3

Array element : [a, b, c]

charBuffer : [a, b, c]

charbuffer capacity : 3

charbuffer position: 0

wrap(array char[ ], compensación int, longitud int)

El nuevo búfer estará respaldado por la array de caracteres dada. Como consecuencia, cualquier modificación en el búfer hará que la array se modifique y viceversa. La capacidad del nuevo búfer está determinada por array.length , su posición se compensará, su límite será compensado + longitud y su marca no estará definida. Su array de respaldo será la array dada, y su desplazamiento de array será cero.

Sintaxis:

public static CharBuffer wrap(char[ ] array, int offset, int length)

Parámetros: Este método toma los siguientes parámetros:

  • array: la array que respaldará el nuevo búfer.
  • offset: el desplazamiento del subarreglo a utilizar; debe ser no negativo y no mayor que array.length. La posición del nuevo búfer se establecerá en este valor.
  • longitud: la longitud del subarreglo que se utilizará; debe ser no negativo y no mayor que array.length – offset. El límite del nuevo búfer se establecerá en desplazamiento + longitud.

Valor devuelto: este método devuelve el nuevo búfer de caracteres.

Lanza: este método lanza la excepción IndexOutOfBoundsException (si las condiciones previas en los parámetros de desplazamiento y longitud no se cumplen).

A continuación se muestran los ejemplos para ilustrar el método wrap():

Ejemplo 1:

// Java program to demonstrate
// wrap() method
  
import java.nio.*;
import java.util.*;
  
public class GFG {
  
    public static void main(String[] args)
    {
  
        // Declare and initialize the char array
        char[] cbb = { 'a', 'b', 'c' };
  
        // print the char array length
        System.out.println("Array length : " + cbb.length);
  
        // print the char array element
        System.out.println("\nArray element : "
                           + Arrays.toString(cbb));
  
        // wrap the char array into charBuffer
        // using wrap() method
        CharBuffer charBuffer = CharBuffer.wrap(cbb, 0, cbb.length);
        // Rewind the intbuffer
        charBuffer.rewind();
  
        // print the char buffer
        System.out.println("\ncharBuffer : "
                           + Arrays.toString(charBuffer.array()));
  
        // print the CharBuffer capacity
        System.out.println("\ncharbuffer capacity : "
                           + charBuffer.capacity());
  
        // print the CharBuffer position
        System.out.println("\ncharbuffer position: "
                           + charBuffer.position());
    }
}
Producción:

Array length : 3

Array element : [a, b, c]

charBuffer : [a, b, c]

charbuffer capacity : 3

charbuffer position: 0

Ejemplos 2: Para demostrar NullPointerException

// Java program to demonstrate
// wrap() method
  
import java.nio.*;
import java.util.*;
  
public class GFG {
  
    public static void main(String[] args)
    {
  
        // Declare and initialize the float array
        char[] cbb = { 'a', 'b', 'c' };
  
        // print the char array length
        System.out.println("Array length : " + cbb.length);
  
        // print the char array element
        System.out.println("\nArray element : " + Arrays.toString(cbb));
  
        try {
            // wrap the char array into charBuffer
            // using wrap() method
            System.out.println("\nHere "
                               + "offset and length does not hold"
                               + " the required condition ");
            CharBuffer charBuffer = CharBuffer.wrap(cbb, 1, cbb.length);
  
            // Rewind the intbuffer
            charBuffer.rewind();
  
            // print the char buffer
            System.out.println("\ncharBuffer : "
                               + Arrays.toString(charBuffer.array()));
  
            // print the CharBuffer capacity
            System.out.println("\ncharbuffer capacity : "
                               + charBuffer.capacity());
  
            // print the CharBuffer position
            System.out.println("\ncharbuffer position: "
                               + charBuffer.position());
        }
        catch (IndexOutOfBoundsException e) {
            System.out.println("Exception throws: " + e);
        }
    }
}
Producción:

Array length : 3

Array element : [a, b, c]

Here offset and length does not hold the required condition 
Exception throws: java.lang.IndexOutOfBoundsException

Publicación traducida automáticamente

Artículo escrito por gopaldave 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 *