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()); } }
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()); } }
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); } } }
Array length : 3 Array element : [a, b, c] Here offset and length does not hold the required condition Exception throws: java.lang.IndexOutOfBoundsException