Un DataBuffer
de bytes.
Métodos públicos
abstract BooleanDataBuffer | asBooleans () Devuelve este búfer de bytes como un búfer de valores booleanos. |
resumen DoubleDataBuffer | asDoubles () Devuelve este búfer de bytes como un búfer de dobles. |
FloatDataBuffer abstracto | asFloats () Devuelve este búfer de bytes como un búfer de flotantes. |
resumen IntDataBuffer | asInts () Devuelve este búfer de bytes como un búfer de ints. |
resumen LongDataBuffer | asLongs () Devuelve este búfer de bytes como un búfer de longs. |
resumen ShortDataBuffer | asShorts () Devuelve este búfer de bytes como un búfer de cortos. |
ByteDataBuffer abstracto | copyTo ( DataBuffer <Byte> dst, tamaño largo) |
byte abstracto | getByte (índice largo) Lee el byte en el índice dado. |
Byte abstracto | getObject (índice largo) Lee el valor en el índice dado. |
ByteDataBuffer abstracto | estrecho (tamaño largo) Crea un nuevo búfer cuyo contenido es una subsecuencia compartida del contenido de este búfer, cuyo tamaño se establece en el valor dado. |
ByteDataBuffer abstracto | desplazamiento (índice largo) Crea un nuevo búfer cuyo contenido es una subsecuencia compartida del contenido de este búfer, comenzando en el índice dado. |
ByteDataBuffer abstracto | leer (byte [] dst) Método de obtención masiva, utilizando matrices de bytes. |
ByteDataBuffer abstracto | leer (byte [] dst, int offset, int length) Método de obtención masiva, utilizando matrices de bytes. |
ByteDataBuffer abstracto | setByte (valor de byte, índice largo) Escribe el byte dado en este búfer en el índice dado. |
ByteDataBuffer abstracto | setObject (valor de byte, índice largo) |
ByteDataBuffer abstracto | rebanada (índice largo, tamaño largo) Crea un nuevo búfer cuyo contenido es una subsecuencia compartida del contenido de este búfer, comenzando en el índice dado y del tamaño dado. |
resumen DataBufferWindow < ByteDataBuffer > | ventana (tamaño largo) Crea un DataBufferWindow que proporciona una vista parcial de este búfer. |
ByteDataBuffer abstracto | escribir (byte [] src) Mayor puso método, mediante matrices de bytes. |
ByteDataBuffer abstracto | escribir (byte [] src, int offset, int length) Mayor puso método, mediante matrices de bytes. |
Métodos heredados
Métodos públicos
public abstract BooleanDataBuffer asBooleans ()
Devuelve este búfer de bytes como un búfer de valores booleanos.
El búfer devuelto proporciona una vista diferente en la misma memoria que el búfer de bytes original, lo que significa que cambiar un valor en uno afectará al otro.
Devoluciones
- este búfer como un
BooleanDataBuffer
Lanza
IllegalStateException | si este búfer no se puede convertir |
---|
DoubleDataBuffer público abstracto asDoubles ()
Devuelve este búfer de bytes como un búfer de dobles.
El búfer devuelto proporciona una vista diferente en la misma memoria que el búfer de bytes original, lo que significa que cambiar un valor en uno afectará al otro.
Devoluciones
- este búfer como
DoubleDataBuffer
Lanza
IllegalStateException | si este búfer no se puede convertir |
---|
FloatDataBuffer abstracto público asFloats ()
Devuelve este búfer de bytes como un búfer de flotantes.
El búfer devuelto proporciona una vista diferente en la misma memoria que el búfer de bytes original, lo que significa que cambiar un valor en uno afectará al otro.
Devoluciones
- este búfer como
FloatDataBuffer
Lanza
IllegalStateException | si este búfer no se puede convertir |
---|
asInts () públicos abstractos de IntDataBuffer
Devuelve este búfer de bytes como un búfer de ints.
El búfer devuelto proporciona una vista diferente en la misma memoria que el búfer de bytes original, lo que significa que cambiar un valor en uno afectará al otro.
Devoluciones
- este búfer como
IntDataBuffer
Lanza
IllegalStateException | si este búfer no se puede convertir |
---|
público abstracto LongDataBuffer asLongs ()
Devuelve este búfer de bytes como un búfer de longs.
El búfer devuelto proporciona una vista diferente en la misma memoria que el búfer de bytes original, lo que significa que cambiar un valor en uno afectará al otro.
Devoluciones
- este búfer como
LongDataBuffer
Lanza
IllegalStateException | si este búfer no se puede convertir |
---|
resumen público ShortDataBuffer asShorts ()
Devuelve este búfer de bytes como un búfer de cortos.
El búfer devuelto proporciona una vista diferente en la misma memoria que el búfer de bytes original, lo que significa que cambiar un valor en uno afectará al otro.
Devoluciones
- este búfer como
ShortDataBuffer
Lanza
IllegalStateException | si este búfer no se puede convertir |
---|
byte abstracto público getByte (índice largo)
Lee el byte en el índice dado.
Parámetros
índice | el índice desde el que se leerá el flotador |
---|
Devoluciones
- el byte en el índice dado
Lanza
IndexOutOfBoundsException | si el índice es negativo o no menor que el tamaño del búfer |
---|
getObject de byte abstracto público (índice largo)
Lee el valor en el índice dado. Importante: El uso de este método debe limitarse a búferes de tipos no primitivos o cuando el llamador no conoce de manera determinista el tipo de datos. En cualquier otro caso, prefiera el uso de su variante primitiva que mejorará significativamente el rendimiento (por ejemplo, IntDataBuffer.getInt(idx)
Parámetros
índice | el índice desde el que se leerá el flotador |
---|
Devoluciones
- el valor en el índice dado
ByteDataBuffer abstracto público estrecho (tamaño largo)
Crea un nuevo búfer cuyo contenido es una subsecuencia compartida del contenido de este búfer, cuyo tamaño se establece en el valor dado.
El nuevo tamaño no debe ser mayor que este tamaño de búfer. Los cambios en el contenido de este búfer serán visibles en el nuevo búfer y viceversa. El nuevo búfer será de solo lectura si, y solo si, este búfer es de solo lectura.
Esta llamada es equivalente a slice(0, size)
Parámetros
Talla | tamaño de este nuevo búfer |
---|
Devoluciones
- el nuevo búfer
abstracta pública ByteDataBuffer offset (índice de largo)
Crea un nuevo búfer cuyo contenido es una subsecuencia compartida del contenido de este búfer, comenzando en el índice dado.
El índice no debe ser mayor que este tamaño de búfer. Los cambios en el contenido de este búfer serán visibles en el nuevo búfer y viceversa. El nuevo búfer será de solo lectura si, y solo si, este búfer es de solo lectura.
Esta llamada es equivalente a slice(index, size() - index)
Parámetros
índice | índice del primer valor del nuevo búfer creado, no debe ser mayor que size() |
---|
Devoluciones
- el nuevo búfer
ByteDataBuffer abstracto público leído (byte [] dst)
Método de obtención masiva, utilizando matrices de bytes.
Este método transfiere valores de este búfer a la matriz de destino dada. Si hay menos valores en el búfer de los necesarios para satisfacer la solicitud, es decir, si dst.length > size()
, no se transfieren valores y se lanza una BufferUnderflowException.
De lo contrario, este método copia los valores n = dst.length
de este búfer en la matriz dada.
Parámetros
dst | la matriz en la que se escribirán los valores |
---|
Devoluciones
- este búfer
Lanza
BufferUnderflowException | si no hay suficientes valores para copiar de este búfer |
---|
ByteDataBuffer abstracto público leído (byte [] dst, int offset, int length)
Método de obtención masiva, utilizando matrices de bytes.
Este método transfiere valores de este búfer a la matriz de destino dada. Si hay menos valores en el búfer de los necesarios para satisfacer la solicitud, es decir, si length > size()
, no se transfieren valores y se lanza una BufferUnderflowException.
De lo contrario, este método copia n = length
valores de n = length
de este búfer en la matriz dada comenzando en el desplazamiento dado.
Parámetros
dst | la matriz en la que se escribirán los valores |
---|---|
compensar | el desplazamiento dentro de la matriz del primer valor que se va a escribir; debe ser no negativo y no mayor que dst.length |
largo | el número máximo de valores que se escribirán en la matriz dada; debe ser no negativo y no mayor que dst.length - offset |
Devoluciones
- este búfer
Lanza
BufferUnderflowException | si quedan menos de los valores de longitud en este búfer |
---|---|
IndexOutOfBoundsException | si las condiciones previas en los parámetros de desplazamiento y longitud no se cumplen |
public abstract ByteDataBuffer setByte (valor de byte, índice largo)
Escribe el byte dado en este búfer en el índice dado.
Parámetros
valor | el byte a escribir |
---|---|
índice | el índice en el que se escribirá el valor |
Devoluciones
- este búfer
Lanza
IndexOutOfBoundsException | si el índice es negativo o no menor que el tamaño del búfer |
---|---|
ReadOnlyBufferException | si este búfer es de solo lectura |
abstracta pública ByteDataBuffer rebanada (índice de largo, el tamaño de largo)
Crea un nuevo búfer cuyo contenido es una subsecuencia compartida del contenido de este búfer, comenzando en el índice dado y del tamaño dado.
El índice más el nuevo tamaño no debe ser mayor que este tamaño de búfer. Los cambios en el contenido de este búfer serán visibles en el nuevo búfer y viceversa. El nuevo búfer será de solo lectura si, y solo si, este búfer es de solo lectura.
Parámetros
índice | índice del primer valor del nuevo búfer creado |
---|---|
Talla | tamaño de este nuevo búfer, no debe ser mayor que el size() |
Devoluciones
- el nuevo búfer
ventana pública abstracta DataBufferWindow < ByteDataBuffer > (tamaño largo)
Crea un DataBufferWindow
que proporciona una vista parcial de este búfer.
La ventana creada tiene un tamaño fijo y puede "slide"
largo de este búfer para proporcionar diferentes vistas de los datos sin asignar una nueva instancia del búfer, como hace el offset(long)
. Esto mejora el rendimiento general cuando esta operación se repite con frecuencia. Por ejemplo:
IntDataBuffer bufferA = DataBuffers.ofInts(1024);
// ... init buffer data
IntDataBuffer bufferB = DataBuffers.ofInts(1, 2, 3, 4);
// Return the index of the first occurrence of bufferB in bufferA using a sliding window
DataBufferWindow<IntDataBuffer> windowA = bufferA.window(4);
for (int i = 0; i < bufferA.size() - bufferB.size(); ++i) {
if (windowA.slideTo(i).buffer().equals(bufferB)) {
return i;
}
}
El objeto devuelto tiene estado y no es seguro para subprocesos.
Parámetros
Talla | tamaño de la ventana |
---|
Devoluciones
- una nueva ventana que comienza en el índice 0 de este búfer
escritura abstracta pública ByteDataBuffer (byte [] src)
Mayor puso método, mediante matrices de bytes.
Este método transfiere los valores de la matriz de origen dada a este búfer. Si hay más valores en la matriz de origen que en este búfer, es decir, si src.length > size()
, no se transfieren valores y se lanza una BufferOverflowException.
De lo contrario, este método copia los valores n = src.length
de la matriz dada.
Parámetros
src | la matriz de origen de la que se leerán los valores |
---|
Devoluciones
- este búfer
Lanza
BufferOverflowException | si no hay suficiente espacio en este búfer para los valores en la matriz de origen |
---|---|
ReadOnlyBufferException | si este búfer es de solo lectura |
escritura abstracta pública ByteDataBuffer (byte [] src, int offset, int length)
Mayor puso método, mediante matrices de bytes.
Este método transfiere los valores de la matriz de origen dada a este búfer. Si hay más valores en la matriz de origen que en este búfer, es decir, si length > size()
, no se transfieren valores y se lanza una BufferOverflowException.
De lo contrario, este método copia n = length
valores de n = length
de la matriz dada en este búfer, comenzando en el desplazamiento dado.
Parámetros
src | la matriz de origen de la que se leerán los valores |
---|---|
compensar | el desplazamiento dentro de la matriz del primer valor a leer; debe ser no negativo y no mayor que src.length |
largo | el número de valores que se leerán de la matriz dada; debe ser no negativo y no mayor que src.length - offset |
Devoluciones
- este búfer
Lanza
BufferOverflowException | si no hay suficiente espacio en este búfer para los valores en la matriz de origen |
---|---|
IndexOutOfBoundsException | si las condiciones previas en los parámetros de desplazamiento y longitud no se cumplen |
ReadOnlyBufferException | si este búfer es de solo lectura |