Module java.base
Package java.nio

Class DoubleBuffer

java.lang.Object
java.nio.Buffer
java.nio.DoubleBuffer
All Implemented Interfaces:
Comparable<DoubleBuffer>

public abstract sealed class DoubleBuffer extends Buffer implements Comparable<DoubleBuffer>
A double buffer.

This class defines four categories of operations upon double buffers:

  • Absolute and relative get and put methods that read and write single doubles;

  • Absolute and relative bulk get methods that transfer contiguous sequences of doubles from this buffer into an array;

  • Absolute and relative bulk put methods that transfer contiguous sequences of doubles from a double array or some other double buffer into this buffer;

  • A method for compacting a double buffer.

Double buffers can be created either by allocation, which allocates space for the buffer's content, by wrapping an existing double array into a buffer, or by creating a view of an existing byte buffer.

Like a byte buffer, a double buffer is either direct or non-direct. A double buffer created via the wrap methods of this class will be non-direct. A double buffer created as a view of a byte buffer will be direct if, and only if, the byte buffer itself is direct. Whether or not a double buffer is direct may be determined by invoking the isDirect method.

Methods in this class that do not otherwise have a value to return are specified to return the buffer upon which they are invoked. This allows method invocations to be chained.

Optional operations

Methods specified as optional operations throw a ReadOnlyBufferException when invoked on a read-only DoubleBuffer. The methods array and arrayOffset throw an UnsupportedOperationException if the DoubleBuffer is not backed by an accessible double array (irrespective of whether the DoubleBuffer is read-only).
Since:
1.4