java.nio
public abstract class CharBuffer extends Buffer implements Comparable<CharBuffer>, CharSequence, Readable, Appendable
Modifier and Type | Method and Description |
---|---|
static CharBuffer |
allocate(int capacity)
Allocates a new
CharBuffer object with a given capacity. |
CharBuffer |
append(char c)
Appends the Unicode character, c, to this
Appendable
object. |
CharBuffer |
append(CharSequence cs)
Appends the specified sequence of Unicode characters to this
Appendable object. |
CharBuffer |
append(CharSequence cs,
int start,
int end)
Appends the specified subsequence of Unicode characters to this
Appendable object, starting and ending at the specified
positions within the sequence. |
char[] |
array()
Returns the
char array that backs this buffer. |
int |
arrayOffset()
Returns the offset within this buffer's backing array of the first element.
|
abstract CharBuffer |
asReadOnlyBuffer()
Creates a new read-only
CharBuffer that shares this
buffer's content. |
char |
charAt(int index)
Returns the character at
position() + index . |
abstract CharBuffer |
compact()
Compacts this buffer.
|
int |
compareTo(CharBuffer other)
Compares two
CharBuffer objects. |
abstract CharBuffer |
duplicate()
Creates a new
CharBuffer that shares this buffer's
content. |
boolean |
equals(Object obj)
Checks if this buffer is equal to obj.
|
abstract char |
get()
Reads the
char at this buffer's current position,
and then increments the position. |
CharBuffer |
get(char[] dst)
This method transfers
char s from this buffer into the given
destination array. |
CharBuffer |
get(char[] dst,
int offset,
int length)
This method transfers
char s from this buffer into the given
destination array. |
abstract char |
get(int index)
Absolute get method.
|
boolean |
hasArray()
Tells whether ot not this buffer is backed by an accessible
char array. |
int |
hashCode()
Calculates a hash code for this buffer.
|
abstract boolean |
isDirect()
Tells wether or not this buffer is direct.
|
int |
length()
Returns the length of the remaining chars in this buffer.
|
abstract ByteOrder |
order()
Returns the byte order of this buffer.
|
abstract CharBuffer |
put(char b)
Writes the
char at this buffer's current position,
and then increments the position. |
CharBuffer |
put(char[] src)
Writes the content of the the
char array src
into the buffer. |
CharBuffer |
put(char[] src,
int offset,
int length)
Writes the content of the the
char array src
into the buffer. |
CharBuffer |
put(CharBuffer src)
Writes the content of the the
CharBUFFER src
into the buffer. |
abstract CharBuffer |
put(int index,
char b)
Absolute put method.
|
CharBuffer |
put(String str)
Relative put method.
|
CharBuffer |
put(String str,
int start,
int length)
Relative put method.
|
int |
read(CharBuffer buffer)
Adds the character data supplied by this
Readable
to the specified character buffer. |
abstract CharBuffer |
slice()
Creates a new
CharBuffer whose content is a shared
subsequence of this buffer's content. |
abstract CharSequence |
subSequence(int start,
int length)
Creates a new character buffer that represents the specified subsequence
of this buffer, relative to the current position.
|
String |
toString()
Returns the remaining content of the buffer as a string.
|
static CharBuffer |
wrap(char[] array)
Wraps a
char array into a CharBuffer
object. |
static CharBuffer |
wrap(char[] array,
int offset,
int length)
Wraps a
char array into a CharBuffer
object. |
static CharBuffer |
wrap(CharSequence seq)
Wraps a character sequence into a
CharBuffer object. |
static CharBuffer |
wrap(CharSequence seq,
int start,
int end)
Wraps a character sequence into a
CharBuffer object. |
public static CharBuffer allocate(int capacity)
CharBuffer
object with a given capacity.public static final CharBuffer wrap(char[] array, int offset, int length)
char
array into a CharBuffer
object.array
- the array to wrapoffset
- the offset of the region in the array to wraplength
- the length of the region in the array to wrapCharBuffer
objectIndexOutOfBoundsException
- If the preconditions on the offset
and length parameters do not holdpublic static final CharBuffer wrap(CharSequence seq)
CharBuffer
object.seq
- the sequence to wrapCharBuffer
objectpublic static final CharBuffer wrap(CharSequence seq, int start, int end)
CharBuffer
object.seq
- the sequence to wrapstart
- the index of the first character to wrapend
- the index of the first character not to wrapCharBuffer
objectIndexOutOfBoundsException
- If the preconditions on the offset
and length parameters do not holdpublic static final CharBuffer wrap(char[] array)
char
array into a CharBuffer
object.array
- the array to wrapCharBuffer
objectpublic CharBuffer get(char[] dst, int offset, int length)
char
s from this buffer into the given
destination array. Before the transfer, it checks if there are fewer than
length char
s remaining in this buffer.dst
- The destination arrayoffset
- The offset within the array of the first char
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
char
s remaining in this buffer.IndexOutOfBoundsException
- If the preconditions on the offset
and length parameters do not hold.public int read(CharBuffer buffer) throws IOException
Readable
Readable
to the specified character buffer. This method simply places
each character into the buffer as supplied, using put()
,
without flipping or rewinding.read
in interface Readable
buffer
- the buffer to place the character data in.char
values placed in the buffer,
or -1 if no more characters are available.IOException
- if an I/O error occurs.public CharBuffer get(char[] dst)
char
s from this buffer into the given
destination array.dst
- The byte array to write into.BufferUnderflowException
- If there are fewer than dst.length
char
s remaining in this buffer.public CharBuffer put(CharBuffer src)
CharBUFFER
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 char
s in the source buffer.IllegalArgumentException
- If the source buffer is this buffer.ReadOnlyBufferException
- If this buffer is read-only.public CharBuffer put(char[] src, int offset, int length)
char 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 char
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 CharBuffer put(char[] src)
char 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 char
s in the source array.ReadOnlyBufferException
- If this buffer is read-only.public final boolean hasArray()
char
array.public final char[] array()
char
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()
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(CharBuffer other)
CharBuffer
objects.compareTo
in interface Comparable<CharBuffer>
other
- the object to be comparedClassCastException
- If obj is not an object derived from
CharBuffer
.public abstract char get()
char
at this buffer's current position,
and then increments the position.BufferUnderflowException
- If there are no remaining
char
s in this buffer.public abstract CharBuffer put(char b)
char
at this buffer's current position,
and then increments the position.BufferOverflowException
- If there no remaining
char
s in this buffer.ReadOnlyBufferException
- If this buffer is read-only.public abstract char get(int index)
IndexOutOfBoundsException
- If index is negative or not smaller
than the buffer's limit.public abstract CharBuffer put(int index, char b)
IndexOutOfBoundsException
- If index is negative or not smaller
than the buffer's limit.ReadOnlyBufferException
- If this buffer is read-only.public abstract CharBuffer compact()
ReadOnlyBufferException
- If this buffer is read-only.public abstract boolean isDirect()
public abstract CharBuffer slice()
CharBuffer
whose content is a shared
subsequence of this buffer's content.public abstract CharBuffer duplicate()
CharBuffer
that shares this buffer's
content.public abstract CharBuffer asReadOnlyBuffer()
CharBuffer
that shares this
buffer's content.public String toString()
toString
in interface CharSequence
toString
in class Object
Object.getClass()
,
Object.hashCode()
,
Class.getName()
,
Integer.toHexString(int)
public final int length()
length
in interface CharSequence
public abstract CharSequence subSequence(int start, int length)
subSequence
in interface CharSequence
start
- the start index (inclusive)length
- the end index (exclusive)IndexOutOfBoundsException
- If the preconditions on start and
end do not hold.public CharBuffer put(String str, int start, int length)
BufferOverflowException
- If there is insufficient space in this
buffer.IndexOutOfBoundsException
- If the preconditions on the start
and end parameters do not hold.ReadOnlyBufferException
- If this buffer is read-only.public final CharBuffer put(String str)
BufferOverflowException
- If there is insufficient space in this
buffer.ReadOnlyBufferException
- If this buffer is read-only.public final char charAt(int index)
position() + index
.charAt
in interface CharSequence
index
- the index to retrieve fromIndexOutOfBoundsException
- If index is negative not smaller than
remaining()
.public CharBuffer append(char c)
Appendable
Appendable
object.append
in interface Appendable
c
- the character to append.public CharBuffer append(CharSequence cs)
Appendable
Appendable
object. The entire sequence may not
be appended, if constrained by the underlying implementation.
For example, a buffer may reach its size limit before the entire
sequence is appended.append
in interface Appendable
cs
- the character sequence to append. If seq is null,
then the string "null" (the string representation of null)
is appended.public CharBuffer append(CharSequence cs, int start, int end)
Appendable
Appendable
object, starting and ending at the specified
positions within the sequence. The entire sequence may not
be appended, if constrained by the underlying implementation.
For example, a buffer may reach its size limit before the entire
sequence is appended. The behaviour of this method matches the
behaviour of append(seq.subSequence(start,end))
when
the sequence is not null.append
in interface Appendable
cs
- the character sequence to append. If seq is null,
then the string "null" (the string representation of null)
is appended.start
- the index of the first Unicode character to use from
the sequence.end
- the index of the last Unicode character to use from the
sequence.