Método DoubleBuffer wrap() en Java con ejemplos

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

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

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

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

Deja una respuesta

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