java.nio.DoubleBuffer类的get()方法用于读取给定缓冲区当前位置的double,然后递增该位置。
用法:
public abstract double get()
返回值:此方法返回缓冲区当前位置的double值。
异常:如果缓冲区的当前位置不小于其限制,则此方法将引发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.56
Next 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.0
since the buffer current position is incremented to greater than its limit
Exception throws:java.nio.BufferUnderflowException