Java DoubleBuffer get()方法及实例
java.nio.DoubleBuffer类的 get() 方法用于读取指定缓冲区当前位置的双倍数,然后递增该位置。
语法
public abstract double get()
返回值: 该方法返回缓冲区当前位置的双倍值。
异常: 该方法抛出 BufferUnderflowException ,如果缓冲区的当前位置不小于其极限值,则抛出此异常。
下面是说明get()方法的例子。
例子 1 :
// Java program to demonstrate// get() method import java.nio.*;import java.util.*; public class GFG { public static void main(String[] args) { // Declaring the capacity of the FloatBuffer int capacity = 5; // Creating the FloatBuffer try { // creating object of floatbuffer // and allocating size capacity DoubleBuffer fb = DoubleBuffer.allocate(capacity); // putting the value in Doublebuffer fb.put(8.56D); fb.put(9.61D); fb.put(1.24D); fb.rewind(); // print the DoubleBuffer System.out.println("Original DoubleBuffer: " + Arrays.toString(fb.array())); // Reads the double at this buffer's current position // using get() method double value = fb.get(); // print the double value System.out.println("\nDouble Value: " + value); // Reads the double at this buffer's next position // using get() method double value1 = fb.get(); // print the double value System.out.print("\nNext double Value: " + value1); } catch (IllegalArgumentException e) { System.out.println("\nIllegalArgumentException catched"); } catch (ReadOnlyBufferException e) { System.out.println("\nReadOnlyBufferException catched"); } catch (BufferUnderflowException e) { System.out.println("\nException throws: " + e); } }}
输出:
Original DoubleBuffer: [8.56, 9.61, 1.24, 0.0, 0.0]Double Value: 8.56Next double Value: 9.61
例子 2 :
// Java program to demonstrate// get() method import java.nio.*;import java.util.*; public class GFG { public static void main(String[] args) { // Declaring the capacity of the DoubleBuffer int capacity = 3; // Creating the DoubleBuffer try { // creating object of Doublebuffer // and allocating size capacity DoubleBuffer fb = DoubleBuffer.allocate(capacity); // putting the value in Doublebuffer fb.put(8.56F); fb.put(9.61F); // print the DoubleBuffer System.out.println("Original DoubleBuffer: " + Arrays.toString(fb.array())); // Reads the Double at this buffer's current position // using get() method Double value = fb.get(); // print the Double value System.out.println("\nDouble Value: " + value); // Reads the Double at this buffer's next position // using get() method System.out.print("\nsince the buffer current" + " position is incremented"); System.out.print(" to greater than its limit "); Double value1 = fb.get(); // print the Double value System.out.print("\nNext Double Value: " + value1); } catch (IllegalArgumentException e) { System.out.println("\nIllegalArgumentException catched"); } catch (ReadOnlyBufferException e) { System.out.println("\nReadOnlyBufferException catched"); } catch (BufferUnderflowException e) { System.out.println("\nException throws: " + e); } }}输出:
Original DoubleBuffer: [8.5600004196167, 9.609999656677246, 0.0]Double Value: 0.0since the buffer current position is incremented to greater than its limit Exception throws: java.nio.BufferUnderflowException
参考资料: https://docs.oracle.com/javase/9/docs/api/java/nio/DoubleBuffer.html#get-
