public interface ByteSequence
byte values. This interface
provides uniform, read-only access to many different kinds of byte sequences.
This interface does not refine the general contracts of the
equals and hashCode methods. The result of comparing two objects that implement ByteSequence is
therefore, in general, undefined. Each object may be implemented by a different class, and there
is no guarantee that each class will be capable of testing its instances for equality with those
of the other. It is therefore inappropriate to use arbitrary ByteSequence instances as
elements in a set or as keys in a map.
| Modifier and Type | Method and Description |
|---|---|
byte |
byteAt(int index)
Returns the
byte value at the specified index. |
default IntStream |
bytes()
Returns a stream of
int zero-extending the byte values from this sequence. |
static ByteSequence |
create(byte[] buffer)
Creates a
ByteSequence from an existing byte[]. |
int |
length()
Returns the length of this byte sequence.
|
default ByteSequence |
subSequence(int startIndex,
int endIndex)
Returns a
ByteSequence that is a subsequence of this sequence. |
default byte[] |
toByteArray()
Returns a
byte[] containing the bytes in this sequence in the same order as this
sequence. |
int length()
bytes in this sequencebyte byteAt(int index)
byte value at the specified index. An index ranges from zero to
length() - 1. The first char value of the sequence is at index zero,
the next at index one, and so on, as for array indexing.index - the index of the byte value to be returnedbyte valueIndexOutOfBoundsException - if the index argument is negative or not less than
length()default ByteSequence subSequence(int startIndex, int endIndex)
ByteSequence that is a subsequence of this sequence. The subsequence
starts with the byte value at the specified index and ends with the
byte value at index end - 1. The length (in bytes) of the
returned sequence is end - start, so if start == end then an empty sequence
is returned.startIndex - the start index, inclusiveendIndex - the end index, exclusiveIndexOutOfBoundsException - if start or end are negative, if
end is greater than length(), or if start is greater
than enddefault byte[] toByteArray()
byte[] containing the bytes in this sequence in the same order as this
sequence. The length of the byte array will be the length of this sequence. Creates a new
byte array with every invocation.default IntStream bytes()
int zero-extending the byte values from this sequence.static ByteSequence create(byte[] buffer)
ByteSequence from an existing byte[]. The byte array is
not defensively copied, therefore the given bytes must not mutate to ensure the contract of
an immutable ByteSequence.