envolver (array doble [])
El método wrap() de java.nio.DoubleBuff er Class se utiliza para envolver una array doble en un búfer. El nuevo búfer estará respaldado por la array doble dada; es decir, las modificaciones al búfer harán que la array se modifique y viceversa. La capacidad y el límite del nuevo búfer serán 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 DoubleBuffer wrap(double[] array)
Parámetros: este método toma array , el array que respaldará este búfer, como parámetro.
Valor de retorno: este método devuelve el nuevo búfer doble.
A continuación se muestran los ejemplos para ilustrar el método wrap():
// Java program to demonstrate // wrap() method import java.nio.*; import java.util.*; public class GFG { public static void main(String[] args) { // Declaire and initialize the float array double[] fbb = { 1.23D, 2.34D, 4.56D }; // print the float array length System.out.println("Array length : " + fbb.length); // print the float array element System.out.println("\nArray element : " + Arrays.toString(fbb)); // wrap the float array into floatBuffer // using wrap() method DoubleBuffer doubleBuffer = DoubleBuffer.wrap(fbb); // Rewind the floatbuffer doubleBuffer.rewind(); // print the float buffer System.out.println("\ndoubleBuffer : " + Arrays.toString(doubleBuffer.array())); // print the DoubleBuffer capacity System.out.println("\ndoublebuffer capacity : " + doubleBuffer.capacity()); // print the DoubleBuffer position System.out.println("\ndoublebuffer position: " + doubleBuffer.position()); } }
Array length : 3 Array element : [1.23, 2.34, 4.56] doubleBuffer : [1.23, 2.34, 4.56] doublebuffer capacity : 3 doublebuffer position: 0
wrap(doble[] array, int offset, int longitud)
El nuevo búfer estará respaldado por la array doble dada; es decir, las modificaciones al búfer harán que la array se modifique y viceversa. La capacidad del nuevo búfer será array.longitud, su posición estará compensada, 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 FloatBuffer wrap (double[] 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 de retorno: este método devuelve el nuevo búfer doble.
Excepción: este método genera la excepción IndexOutOfBoundsException si las condiciones previas de los parámetros de desplazamiento y longitud no se cumplen.
A continuación se muestran los ejemplos para ilustrar el método wrap():
Ejemplos 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 float array double[] fbb = { 1.23D, 2.34D, 4.56D }; // print the float array length System.out.println("Array length : " + fbb.length); // print the float array element System.out.println("\nArray element : " + Arrays.toString(fbb)); // wrap the double array into floatBuffer // using wrap() method DoubleBuffer doubleBuffer = DoubleBuffer.wrap(fbb, 0, fbb.length); // Rewind the doublebuffer doubleBuffer.rewind(); // print the float buffer System.out.println("\ndoubleBuffer : " + Arrays.toString(doubleBuffer.array())); // print the FloatBuffer capacity System.out.println("\ndoublebuffer capacity : " + doubleBuffer.capacity()); // print the FloatBuffer position System.out.println("\ndoublebuffer position: " + doubleBuffer.position()); } }
Array length : 3 Array element : [1.23, 2.34, 4.56] doubleBuffer : [1.23, 2.34, 4.56] doublebuffer capacity : 3 doublebuffer position: 0
Ejemplos 2: Para demostrar IndexOutOfBoundsException
// Java program to demonstrate // asReadOnlyBuffer() method import java.nio.*; import java.util.*; public class GFG { public static void main(String[] args) { // Declare and initialize the Double array double[] fbb = { 1.23D, 2.34D, 4.56D }; // print the Double array length System.out.println("Array length : " + fbb.length); // print the Double array element System.out.println("\nArray element : " + Arrays.toString(fbb)); try { // wrap the Double array into floatBuffer // using wrap() method System.out.println("\nHere " + "offset and length does not hold" + " the required condition "); DoubleBuffer doubleBuffer = DoubleBuffer.wrap(fbb, 1, fbb.length); // Rewind the Doublebuffer doubleBuffer.rewind(); // print the Double buffer System.out.println("\ndoubleBuffer : " + Arrays.toString(doubleBuffer.array())); // print the DoubleBuffer capacity System.out.println("\ndoublebuffer capacity : " + doubleBuffer.capacity()); // print the DoubleBuffer position System.out.println("\ndoublebuffer position: " + doubleBuffer.position()); } catch (IndexOutOfBoundsException e) { System.out.println("Exception throws: " + e); } } }
Array length : 3 Array element : [1.23, 2.34, 4.56] Here offset and length does not hold the required condition Exception throws: java.lang.IndexOutOfBoundsException
Publicación traducida automáticamente
Artículo escrito por pawan_asipu y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA