📜  在Java中缓冲 isReadOnly() 方法和示例

📅  最后修改于: 2022-05-13 01:55:44.568000             🧑  作者: Mango

在Java中缓冲 isReadOnly() 方法和示例

Java.nio.Buffer类的isReadOnly()方法用于判断此缓冲区是否为只读。

句法:

public abstract boolean isReadOnly()

返回:当且仅当此缓冲区为只读时,此方法才会返回true

下面是说明isReadOnly()方法的示例:

示例 1:

// Java program to demonstrate
// isReadOnly() method
  
import java.nio.*;
import java.util.*;
  
public class GFG {
    public static void main(String[] args)
    {
  
        // Declaring the capacity of the ByteBuffer
        int capacity = 10;
  
        // creating object of bytebuffer
        // and allocating size capacity
        ByteBuffer bb = ByteBuffer.allocate(capacity);
  
        // putting the value in bytebuffer
        bb.put((byte)10);
        bb.put((byte)20);
        bb.rewind();
  
        // Typecast bytebuffer to Buffer
        Buffer buffer = (Buffer)bb;
  
        // checking buffer is backed by array or not
        boolean isReadOnly = buffer.isReadOnly();
  
        // checking if else condition
        if (isReadOnly)
            System.out.println("buffer is"
                               + " ReadOnly buffer");
        else
            System.out.println("buffer is not"
                               + " ReadOnly buffer");
    }
}
输出:
buffer is not ReadOnly buffer

示例 2:

// Java program to demonstrate
// isReadOnly() method
  
import java.nio.*;
import java.util.*;
  
public class GFG {
    public static void main(String[] args)
    {
  
        // Declaring the capacity of the ByteBuffer
        int capacity = 10;
  
        // creating object of bytebuffer
        // and allocating size capacity
        ByteBuffer bb = ByteBuffer.allocate(capacity);
  
        // putting the value in bytebuffer
        bb.put((byte)10);
        bb.put((byte)20);
        bb.rewind();
  
        // Creating a read-only copy of ByteBuffer
        // using asReadOnlyBuffer() method
        ByteBuffer bb1 = bb.asReadOnlyBuffer();
  
        // Typecast read-only ByteBuffer to read-only buffer
        Buffer buffer = (Buffer)bb1;
  
        // checking buffer is backed by array or not
        boolean isReadOnly = buffer.isReadOnly();
  
        // checking if else condition
        if (isReadOnly)
            System.out.println("buffer is"
                               + " ReadOnly buffer");
        else
            System.out.println("buffer is not"
                               + " ReadOnly buffer");
    }
}
输出:
buffer is ReadOnly buffer

参考: https://docs.oracle.com/javase/9/docs/api/ Java/nio/Buffer.html#isReadOnly–