El método limit() de java.nio.ByteBuffer Class se usa para establecer el límite de este búfer. Si la posición es mayor que el nuevo límite, se establece en el nuevo límite. Si la marca está definida y es mayor que el nuevo límite, se descarta.
Sintaxis:
public ByteBuffer limit(int newLimit)
Valor devuelto: este método devuelve este búfer.
A continuación se muestran los ejemplos para ilustrar el método limit():
Ejemplos 1:
// Java program to demonstrate // compact() method import java.nio.*; import java.util.*; public class GFG { public static void main(String[] args) { // defining and allocating ByteBuffer // using allocate() method ByteBuffer byteBuffer = ByteBuffer.allocate(4); // put byte value in byteBuffer // using put() method byteBuffer.put((byte)20); byteBuffer.put((byte)30); // print the byte buffer System.out.println("ByteBuffer before compact: " + Arrays.toString(byteBuffer.array()) + "\nPosition: " + byteBuffer.position() + "\nLimit: " + byteBuffer.limit()); // Limit the byteBuffer // using limit() method byteBuffer.limit(1); // print the byte buffer System.out.println("\nByteBuffer after compact: " + Arrays.toString(byteBuffer.array()) + "\nPosition: " + byteBuffer.position() + "\nLimit: " + byteBuffer.limit()); } }
Producción:
ByteBuffer before compact: [20, 30, 0, 0] Position: 2 Limit: 4 ByteBuffer after compact: [20, 30, 0, 0] Position: 1 Limit: 1
Ejemplos 2:
// Java program to demonstrate // limit() method import java.nio.*; import java.util.*; public class GFG { public static void main(String[] args) { // defining and allocating ByteBuffer // using allocate() method ByteBuffer byteBuffer = ByteBuffer.allocate(5); // put byte value in byteBuffer // using put() method byteBuffer.put((byte)20); byteBuffer.put((byte)30); byteBuffer.put((byte)40); // mark will be going to discarded by limit() byteBuffer.mark(); // print the byte buffer System.out.println("ByteBuffer before compact: " + Arrays.toString(byteBuffer.array()) + "\nPosition: " + byteBuffer.position() + "\nLimit: " + byteBuffer.limit()); // Limit the byteBuffer // using limit() method byteBuffer.limit(4); // print the byte buffer System.out.println("\nByteBuffer after compact: " + Arrays.toString(byteBuffer.array()) + "\nPosition: " + byteBuffer.position() + "\nLimit: " + byteBuffer.limit()); } }
Producción:
ByteBuffer before compact: [20, 30, 40, 0, 0] Position: 3 Limit: 5 ByteBuffer after compact: [20, 30, 40, 0, 0] Position: 3 Limit: 4
Referencia: https://docs.oracle.com/javase/9/docs/api/java/nio/ByteBuffer.html#limit-int-
Publicación traducida automáticamente
Artículo escrito por RohitPrasad3 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA