Método FloatBuffer wrap() en Java con ejemplos

envolver (array flotante [])

El método wrap() de java.nio.FloatBuffer Class se usa para envolver una array flotante en un búfer. El nuevo búfer estará respaldado por la array flotante 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 compensación de array será cero.

Sintaxis:

public static FloatBuffer wrap(float[] array)

Parámetros: este método toma la array (la array que respaldará este búfer) como parámetro.

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

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

Ejemplos 1:

// 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 float array
        float[] fbb = { 1.23F, 2.34F, 4.56F };
  
        // 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
        FloatBuffer floatBuffer = FloatBuffer.wrap(fbb);
  
        // Rewind the floatbuffer
        floatBuffer.rewind();
  
        // print the float buffer
        System.out.println("\nfloatBuffer : "
                           + Arrays.toString(floatBuffer.array()));
  
        // print the FloatBuffer capacity
        System.out.println("\nfloatbuffer capacity : "
                           + floatBuffer.capacity());
  
        // print the FloatBuffer position
        System.out.println("\nfloatbuffer position:  "
                           + floatBuffer.position());
    }
}
Producción:

Array length : 3

Array element : [1.23, 2.34, 4.56]

floatBuffer : [1.23, 2.34, 4.56]

floatbuffer capacity : 3

floatbuffer position:  0

envolver (array flotante [], desplazamiento int, longitud int)

El nuevo búfer estará respaldado por la array flotante 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 (float[] 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 flotante.

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():

Ejemplos 1:

// 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 float array
        float[] fbb = { 1.23F, 2.34F, 4.56F };
  
        // 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
        FloatBuffer floatBuffer = FloatBuffer.wrap(fbb, 0,
                                                   fbb.length);
  
        // Rewind the floatbuffer
        floatBuffer.rewind();
  
        // print the float buffer
        System.out.println("\nfloatBuffer : "
                           + Arrays.toString(floatBuffer.array()));
  
        // print the FloatBuffer capacity
        System.out.println("\nfloatbuffer capacity : "
                           + floatBuffer.capacity());
  
        // print the FloatBuffer position
        System.out.println("\nfloatbuffer position:  "
                           + floatBuffer.position());
    }
}
Producción:

Array length : 3

Array element : [1.23, 2.34, 4.56]

floatBuffer : [1.23, 2.34, 4.56]

floatbuffer capacity : 3

floatbuffer position:  0

Ejemplos 2: Para demostrar NullPointerException

// 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 float array
        float[] fbb = { 1.23F, 2.34F, 4.56F };
  
        // 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));
  
        try {
            // wrap the float array into floatBuffer
            // using wrap() method
            System.out.println("\nHere "
                               + "offset and length does not hold"
                               + " the required condition ");
            FloatBuffer floatBuffer = FloatBuffer.wrap(fbb,
                                                       1,
                                                       fbb.length);
  
            // Rewind the floatbuffer
            floatBuffer.rewind();
  
            // print the float buffer
            System.out.println("\nfloatBuffer : "
                               + Arrays.toString(floatBuffer.array()));
  
            // print the FloatBuffer capacity
            System.out.println("\nfloatbuffer capacity : "
                               + floatBuffer.capacity());
  
            // print the FloatBuffer position
            System.out.println("\nfloatbuffer position:  "
                               + floatBuffer.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 RohitPrasad3 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 *