public abstract class ByteBuffer extends Buffer implements Comparable<ByteBuffer>
Modifier and Type | Method and Description |
---|---|
static ByteBuffer |
allocate(int capacity)
Allocates a new
ByteBuffer object with a given capacity. |
static ByteBuffer |
allocateDirect(int capacity)
Allocates a new direct byte buffer.
|
byte[] |
array()
Returns the
byte array that backs this buffer. |
int |
arrayOffset()
Returns the offset within this buffer's backing array of the first element.
|
abstract CharBuffer |
asCharBuffer()
Creates a view of this byte buffer as a char buffer.
|
abstract DoubleBuffer |
asDoubleBuffer()
Creates a view of this byte buffer as a double buffer.
|
abstract FloatBuffer |
asFloatBuffer()
Creates a view of this byte buffer as a float buffer.
|
abstract IntBuffer |
asIntBuffer()
Creates a view of this byte buffer as an integer buffer.
|
abstract LongBuffer |
asLongBuffer()
Creates a view of this byte buffer as a long buffer.
|
abstract ByteBuffer |
asReadOnlyBuffer()
Creates a new read-only
ByteBuffer that shares this
buffer's content. |
abstract ShortBuffer |
asShortBuffer()
Creates a view of this byte buffer as a short buffer.
|
abstract ByteBuffer |
compact()
Compacts this buffer.
|
int |
compareTo(ByteBuffer other)
Compares two
ByteBuffer objects. |
abstract ByteBuffer |
duplicate()
Creates a new
ByteBuffer that shares this buffer's
content. |
boolean |
equals(Object obj)
Checks if this buffer is equal to obj.
|
abstract byte |
get()
Reads the
byte at this buffer's current position,
and then increments the position. |
ByteBuffer |
get(byte[] dst)
This method transfers
byte s from this buffer into the given
destination array. |
ByteBuffer |
get(byte[] dst,
int offset,
int length)
This method transfers
byte s from this buffer into the given
destination array. |
abstract byte |
get(int index)
Absolute get method.
|
abstract char |
getChar()
Relative get method for reading a character value.
|
abstract char |
getChar(int index)
Absolute get method for reading a character value.
|
abstract double |
getDouble()
Relative get method for reading a double value.
|
abstract double |
getDouble(int index)
Absolute get method for reading a double value.
|
abstract float |
getFloat()
Relative get method for reading a float value.
|
abstract float |
getFloat(int index)
Absolute get method for reading a float value.
|
abstract int |
getInt()
Relative get method for reading an integer value.
|
abstract int |
getInt(int index)
Absolute get method for reading an integer value.
|
abstract long |
getLong()
Relative get method for reading a long value.
|
abstract long |
getLong(int index)
Absolute get method for reading a long value.
|
abstract short |
getShort()
Relative get method for reading a short value.
|
abstract short |
getShort(int index)
Absolute get method for reading a short value.
|
boolean |
hasArray()
Tells whether ot not this buffer is backed by an accessible
byte array. |
int |
hashCode()
Calculates a hash code for this buffer.
|
abstract boolean |
isDirect()
Tells whether or not this buffer is direct.
|
ByteOrder |
order()
Returns the byte order of this buffer.
|
ByteBuffer |
order(ByteOrder endian)
Modifies this buffer's byte order.
|
abstract ByteBuffer |
put(byte b)
Writes the
byte at this buffer's current position,
and then increments the position. |
ByteBuffer |
put(byte[] src)
Writes the content of the the
byte array src
into the buffer. |
ByteBuffer |
put(byte[] src,
int offset,
int length)
Writes the content of the the
byte array src
into the buffer. |
ByteBuffer |
put(ByteBuffer src)
Writes the content of the the
ByteBUFFER src
into the buffer. |
abstract ByteBuffer |
put(int index,
byte b)
Absolute put method.
|
abstract ByteBuffer |
putChar(char value)
Relative put method for writing a character value.
|
abstract ByteBuffer |
putChar(int index,
char value)
Absolute put method for writing a character value.
|
abstract ByteBuffer |
putDouble(double value)
Relative put method for writing a double value.
|
abstract ByteBuffer |
putDouble(int index,
double value)
Absolute put method for writing a double value.
|
abstract ByteBuffer |
putFloat(float value)
Relative put method for writing a float value.
|
abstract ByteBuffer |
putFloat(int index,
float value)
Relative put method for writing a float value.
|
abstract ByteBuffer |
putInt(int value)
Relative put method for writing an integer value.
|
abstract ByteBuffer |
putInt(int index,
int value)
Absolute put method for writing an integer value.
|
abstract ByteBuffer |
putLong(int index,
long value)
Absolute put method for writing a float value.
|
abstract ByteBuffer |
putLong(long value)
Relative put method for writing a long value.
|
abstract ByteBuffer |
putShort(int index,
short value)
Absolute put method for writing a short value.
|
abstract ByteBuffer |
putShort(short value)
Relative put method for writing a short value.
|
abstract ByteBuffer |
slice()
Creates a new
ByteBuffer whose content is a shared
subsequence of this buffer's content. |
String |
toString()
Returns a string summarizing the state of this buffer.
|
static ByteBuffer |
wrap(byte[] array)
Wraps a
byte array into a ByteBuffer
object. |
static ByteBuffer |
wrap(byte[] array,
int offset,
int length)
Wraps a
byte array into a ByteBuffer
object. |
public static ByteBuffer allocateDirect(int capacity)
public static ByteBuffer allocate(int capacity)
ByteBuffer
object with a given capacity.public static final ByteBuffer wrap(byte[] array, int offset, int length)
byte
array into a ByteBuffer
object.IndexOutOfBoundsException
- If the preconditions on the offset
and length parameters do not holdpublic static final ByteBuffer wrap(byte[] array)
byte
array into a ByteBuffer
object.public ByteBuffer get(byte[] dst, int offset, int length)
byte
s from this buffer into the given
destination array. Before the transfer, it checks if there are fewer than
length byte
s remaining in this buffer.dst
- The destination arrayoffset
- The offset within the array of the first byte
to be written; must be non-negative and no larger than dst.length.length
- The maximum number of bytes to be written to the given array;
must be non-negative and no larger than dst.length - offset.BufferUnderflowException
- If there are fewer than length
byte
s remaining in this buffer.IndexOutOfBoundsException
- If the preconditions on the offset
and length parameters do not hold.public ByteBuffer get(byte[] dst)
byte
s from this buffer into the given
destination array.dst
- The byte array to write into.BufferUnderflowException
- If there are fewer than dst.length
byte
s remaining in this buffer.public ByteBuffer put(ByteBuffer src)
ByteBUFFER
src
into the buffer. Before the transfer, it checks if there is fewer than
src.remaining()
space remaining in this buffer.src
- The source data.BufferOverflowException
- If there is insufficient space in this
buffer for the remaining byte
s in the source buffer.IllegalArgumentException
- If the source buffer is this buffer.ReadOnlyBufferException
- If this buffer is read-only.public ByteBuffer put(byte[] src, int offset, int length)
byte array
src
into the buffer. Before the transfer, it checks if there is fewer than
length space remaining in this buffer.src
- The array to copy into the buffer.offset
- The offset within the array of the first byte to be read;
must be non-negative and no larger than src.length.length
- The number of bytes to be read from the given array;
must be non-negative and no larger than src.length - offset.BufferOverflowException
- If there is insufficient space in this
buffer for the remaining byte
s in the source array.IndexOutOfBoundsException
- If the preconditions on the offset
and length parameters do not holdReadOnlyBufferException
- If this buffer is read-only.public final ByteBuffer put(byte[] src)
byte array
src
into the buffer.src
- The array to copy into the buffer.BufferOverflowException
- If there is insufficient space in this
buffer for the remaining byte
s in the source array.ReadOnlyBufferException
- If this buffer is read-only.public final boolean hasArray()
byte
array.public final byte[] array()
byte
array that backs this buffer.ReadOnlyBufferException
- If this buffer is read-only.UnsupportedOperationException
- If this buffer is not backed
by an accessible array.public final int arrayOffset()
ReadOnlyBufferException
- If this buffer is read-only.UnsupportedOperationException
- If this buffer is not backed
by an accessible array.public int hashCode()
int
arithmetic,
where ** represents exponentiation, by this formula:s[position()] + 31 + (s[position()+1] + 30)*31**1 + ... +
(s[limit()-1]+30)*31**(limit()-1)
.
Where s is the buffer data. Note that the hashcode is dependent
on buffer content, and therefore is not useful if the buffer
content may change.hashCode
in class Object
Object.equals(Object)
,
System.identityHashCode(Object)
public boolean equals(Object obj)
equals
in class Object
obj
- the Object to compare toObject.hashCode()
public int compareTo(ByteBuffer other)
ByteBuffer
objects.compareTo
in interface Comparable<ByteBuffer>
other
- the object to be comparedClassCastException
- If obj is not an object derived from
ByteBuffer
.public final ByteBuffer order(ByteOrder endian)
public abstract byte get()
byte
at this buffer's current position,
and then increments the position.BufferUnderflowException
- If there are no remaining
byte
s in this buffer.public abstract ByteBuffer put(byte b)
byte
at this buffer's current position,
and then increments the position.BufferOverflowException
- If there no remaining
byte
s in this buffer.ReadOnlyBufferException
- If this buffer is read-only.public abstract byte get(int index)
IndexOutOfBoundsException
- If index is negative or not smaller
than the buffer's limit.public abstract ByteBuffer put(int index, byte b)
IndexOutOfBoundsException
- If index is negative or not smaller
than the buffer's limit.ReadOnlyBufferException
- If this buffer is read-only.public abstract ByteBuffer compact()
ReadOnlyBufferException
- If this buffer is read-only.public abstract boolean isDirect()
public abstract ByteBuffer slice()
ByteBuffer
whose content is a shared
subsequence of this buffer's content.public abstract ByteBuffer duplicate()
ByteBuffer
that shares this buffer's
content.public abstract ByteBuffer asReadOnlyBuffer()
ByteBuffer
that shares this
buffer's content.public abstract ShortBuffer asShortBuffer()
public abstract CharBuffer asCharBuffer()
public abstract IntBuffer asIntBuffer()
public abstract LongBuffer asLongBuffer()
public abstract FloatBuffer asFloatBuffer()
public abstract DoubleBuffer asDoubleBuffer()
public abstract char getChar()
BufferUnderflowException
- If there are fewer than two bytes
remaining in this buffer.public abstract ByteBuffer putChar(char value)
BufferOverflowException
- If this buffer's current position is
not smaller than its limit.public abstract char getChar(int index)
IndexOutOfBoundsException
- If there are fewer than two bytes
remaining in this bufferpublic abstract ByteBuffer putChar(int index, char value)
IndexOutOfBoundsException
- If index is negative or not smaller
than the buffer's limit, minus one.public abstract short getShort()
BufferUnderflowException
- If index is negative or not smaller
than the buffer's limit, minus one.public abstract ByteBuffer putShort(short value)
BufferOverflowException
- If this buffer's current position is
not smaller than its limit.public abstract short getShort(int index)
IndexOutOfBoundsException
- If there are fewer than two bytes
remaining in this bufferpublic abstract ByteBuffer putShort(int index, short value)
IndexOutOfBoundsException
- If index is negative or not smaller
than the buffer's limit, minus one.public abstract int getInt()
BufferUnderflowException
- If there are fewer than four bytes
remaining in this buffer.public abstract ByteBuffer putInt(int value)
BufferOverflowException
- If this buffer's current position is
not smaller than its limit.public abstract int getInt(int index)
IndexOutOfBoundsException
- If index is negative or not smaller
than the buffer's limit, minus three.public abstract ByteBuffer putInt(int index, int value)
IndexOutOfBoundsException
- If index is negative or not smaller
than the buffer's limit, minus three.public abstract long getLong()
BufferUnderflowException
- If there are fewer than eight bytes
remaining in this buffer.public abstract ByteBuffer putLong(long value)
BufferOverflowException
- If this buffer's current position is
not smaller than its limit.public abstract long getLong(int index)
IndexOutOfBoundsException
- If index is negative or not smaller
than the buffer's limit, minus seven.public abstract ByteBuffer putLong(int index, long value)
IndexOutOfBoundsException
- If index is negative or not smaller
than the buffer's limit, minus seven.public abstract float getFloat()
BufferUnderflowException
- If there are fewer than four bytes
remaining in this buffer.public abstract ByteBuffer putFloat(float value)
BufferOverflowException
- If there are fewer than four bytes
remaining in this buffer.public abstract float getFloat(int index)
IndexOutOfBoundsException
- If index is negative or not smaller
than the buffer's limit, minus three.public abstract ByteBuffer putFloat(int index, float value)
IndexOutOfBoundsException
- If index is negative or not smaller
than the buffer's limit, minus three.public abstract double getDouble()
BufferUnderflowException
- If there are fewer than eight bytes
remaining in this buffer.public abstract ByteBuffer putDouble(double value)
BufferOverflowException
- If this buffer's current position is
not smaller than its limit.public abstract double getDouble(int index)
IndexOutOfBoundsException
- If index is negative or not smaller
than the buffer's limit, minus seven.public abstract ByteBuffer putDouble(int index, double value)
IndexOutOfBoundsException
- If index is negative or not smaller
than the buffer's limit, minus seven.public String toString()
toString
in class Object
Object.getClass()
,
Object.hashCode()
,
Class.getName()
,
Integer.toHexString(int)