Un DataBuffer
di byte.
Metodi pubblici
abstract BooleanDataBuffer | asBooleane () Restituisce questo buffer di byte come buffer di booleani. |
astratto DoubleDataBuffer | come Raddoppia () Restituisce questo buffer di byte come buffer di double. |
astratto FloatDataBuffer | asFloats () Restituisce questo buffer di byte come buffer di numeri in virgola mobile. |
astratto IntDataBuffer | asInt () Restituisce questo buffer di byte come buffer di int. |
astratto LongDataBuffer | come lungo () Restituisce questo buffer di byte come buffer di long. |
abstract ShortDataBuffer | comePantaloncini () Restituisce questo buffer di byte come buffer di cortocircuiti. |
astratto ByteDataBuffer | copyTo ( DataBuffer <Byte> dst, dimensione lunga) |
byte astratto | getByte (indice lungo) Legge il byte all'indice specificato. |
byte astratto | getObject (indice lungo) Legge il valore dell'indice specificato. |
astratto ByteDataBuffer | stretto (taglia lunga) Crea un nuovo buffer il cui contenuto è una sottosequenza condivisa del contenuto di questo buffer, la cui dimensione è impostata sul valore specificato. |
astratto ByteDataBuffer | offset (indice lungo) Crea un nuovo buffer il cui contenuto è una sottosequenza condivisa del contenuto di questo buffer, a partire dall'indice specificato. |
astratto ByteDataBuffer | leggi (byte[] dst) Metodo di acquisizione in blocco, utilizzando matrici di byte. |
astratto ByteDataBuffer | lettura (byte[] dst, int offset, int lunghezza) Metodo di acquisizione in blocco, utilizzando matrici di byte. |
astratto ByteDataBuffer | setByte (valore byte, indice lungo) Scrive il byte specificato in questo buffer all'indice specificato. |
astratto ByteDataBuffer | setObject (valore byte, indice lungo) |
astratto ByteDataBuffer | slice (indice lungo, dimensione lunga) Crea un nuovo buffer il cui contenuto è una sottosequenza condivisa del contenuto di questo buffer, a partire dall'indice e dalla dimensione specificati. |
abstract DataBufferWindow < ByteDataBuffer > | finestra (formato lungo) Crea un DataBufferWindow che fornisce una visualizzazione parziale di questo buffer. |
astratto ByteDataBuffer | scrivi (byte[] origine) Metodo di inserimento in blocco, utilizzando matrici di byte. |
astratto ByteDataBuffer | scrittura (byte[] src, int offset, int lunghezza) Metodo di inserimento in blocco, utilizzando matrici di byte. |
Metodi ereditati
Metodi pubblici
public abstract BooleanDataBuffer asBooleans ()
Restituisce questo buffer di byte come buffer di booleani.
Il buffer restituito fornisce una vista diversa sulla stessa memoria del buffer di byte originale, il che significa che la modifica di un valore in uno influenzerà l'altro.
Ritorni
- questo buffer come
BooleanDataBuffer
Lancia
IllegalStateException | se questo buffer non può essere convertito |
---|
estratto pubblico DoubleDataBuffer asDoubles ()
Restituisce questo buffer di byte come buffer di double.
Il buffer restituito fornisce una vista diversa sulla stessa memoria del buffer di byte originale, il che significa che la modifica di un valore in uno influenzerà l'altro.
Ritorni
- questo buffer come
DoubleDataBuffer
Lancia
IllegalStateException | se questo buffer non può essere convertito |
---|
estratto pubblico FloatDataBuffer asFloats ()
Restituisce questo buffer di byte come buffer di numeri in virgola mobile.
Il buffer restituito fornisce una vista diversa sulla stessa memoria del buffer di byte originale, il che significa che la modifica di un valore in uno influenzerà l'altro.
Ritorni
- questo buffer come
FloatDataBuffer
Lancia
IllegalStateException | se questo buffer non può essere convertito |
---|
estratto pubblico IntDataBuffer asInts ()
Restituisce questo buffer di byte come buffer di int.
Il buffer restituito fornisce una vista diversa sulla stessa memoria del buffer di byte originale, il che significa che la modifica di un valore in uno influenzerà l'altro.
Ritorni
- questo buffer come
IntDataBuffer
Lancia
IllegalStateException | se questo buffer non può essere convertito |
---|
estratto pubblico LongDataBuffer asLongs ()
Restituisce questo buffer di byte come buffer di long.
Il buffer restituito fornisce una vista diversa sulla stessa memoria del buffer di byte originale, il che significa che la modifica di un valore in uno influenzerà l'altro.
Ritorni
- questo buffer come
LongDataBuffer
Lancia
IllegalStateException | se questo buffer non può essere convertito |
---|
abstract pubblico ShortDataBuffer asShorts ()
Restituisce questo buffer di byte come buffer di cortocircuiti.
Il buffer restituito fornisce una vista diversa sulla stessa memoria del buffer di byte originale, il che significa che la modifica di un valore in uno influenzerà l'altro.
Ritorni
- questo buffer come
ShortDataBuffer
Lancia
IllegalStateException | se questo buffer non può essere convertito |
---|
byte astratto pubblico getByte (indice lungo)
Legge il byte all'indice specificato.
Parametri
indice | l'indice da cui verrà letto il float |
---|
Ritorni
- il byte all'indice dato
Lancia
IndexOutOfBoundsException | se l'indice è negativo o non inferiore alla dimensione del buffer |
---|
public abstract Byte getObject (indice lungo)
Legge il valore dell'indice specificato. Importante: l'utilizzo di questo metodo deve essere limitato ai buffer di tipi non primitivi o quando il tipo di dati non è conosciuto in modo deterministico dal chiamante. In ogni altro caso, preferisci l'utilizzo della sua variante primitiva che migliorerà significativamente le prestazioni (ad esempio IntDataBuffer.getInt(idx)
Parametri
indice | l'indice da cui verrà letto il float |
---|
Ritorni
- il valore dell'indice dato
public abstract ByteDataBuffer stretto (dimensione lunga)
Crea un nuovo buffer il cui contenuto è una sottosequenza condivisa del contenuto di questo buffer, la cui dimensione è impostata sul valore specificato.
La nuova dimensione non deve essere maggiore della dimensione del buffer. Le modifiche al contenuto di questo buffer saranno visibili nel nuovo buffer e viceversa. Il nuovo buffer sarà di sola lettura se, e solo se, questo buffer è di sola lettura.
Questa chiamata è equivalente a slice(0, size)
Parametri
misurare | dimensione di questo nuovo buffer |
---|
Ritorni
- il nuovo tampone
offset pubblico astratto ByteDataBuffer (indice lungo)
Crea un nuovo buffer il cui contenuto è una sottosequenza condivisa del contenuto di questo buffer, a partire dall'indice specificato.
L'indice non deve essere maggiore della dimensione del buffer. Le modifiche al contenuto di questo buffer saranno visibili nel nuovo buffer e viceversa. Il nuovo buffer sarà di sola lettura se, e solo se, questo buffer è di sola lettura.
Questa chiamata è equivalente a slice(index, size() - index)
Parametri
indice | indice del primo valore del nuovo buffer creato, non deve essere maggiore di size() |
---|
Ritorni
- il nuovo tampone
estratto pubblico ByteDataBuffer letto (byte[] dst)
Metodo di acquisizione in blocco, utilizzando matrici di byte.
Questo metodo trasferisce i valori da questo buffer nell'array di destinazione specificato. Se nel buffer sono presenti meno valori di quelli necessari per soddisfare la richiesta, ovvero se dst.length > size()
, non viene trasferito alcun valore e viene generata un'eccezione BufferUnderflowException.
Altrimenti, questo metodo copia i valori n = dst.length
da questo buffer nell'array specificato.
Parametri
dst | l'array in cui devono essere scritti i valori |
---|
Ritorni
- questo buffer
Lancia
BufferUnderflowException | se non ci sono abbastanza valori da copiare da questo buffer |
---|
public abstract ByteDataBuffer lettura (byte[] dst, int offset, int length)
Metodo di recupero in blocco, utilizzando array di byte.
Questo metodo trasferisce i valori da questo buffer nell'array di destinazione specificato. Se nel buffer sono presenti meno valori di quelli necessari per soddisfare la richiesta, ovvero se length > size()
, non viene trasferito alcun valore e viene generata un'eccezione BufferUnderflowException.
Altrimenti, questo metodo copia n = length
da questo buffer nell'array specificato a partire dall'offset specificato.
Parametri
dst | l'array in cui devono essere scritti i valori |
---|---|
offset | l'offset all'interno dell'array del primo valore da scrivere; deve essere non negativo e non maggiore di dst.length |
lunghezza | il numero massimo di valori da scrivere nell'array specificato; deve essere non negativo e non maggiore di dst.length - offset |
Ritorni
- questo buffer
Lancia
BufferUnderflowException | se in questo buffer rimangono meno valori di lunghezza |
---|---|
IndexOutOfBoundsException | se le precondizioni sui parametri offset e lunghezza non valgono |
public abstract ByteDataBuffer setByte (valore byte, indice lungo)
Scrive il byte specificato in questo buffer all'indice specificato.
Parametri
valore | il byte da scrivere |
---|---|
indice | l'indice in cui verrà scritto il valore |
Ritorni
- questo buffer
Lancia
IndexOutOfBoundsException | se l'indice è negativo o non inferiore alla dimensione del buffer |
---|---|
ReadOnlyBufferException | se questo buffer è di sola lettura |
porzione astratta pubblica di ByteDataBuffer (indice lungo, dimensione lunga)
Crea un nuovo buffer il cui contenuto è una sottosequenza condivisa del contenuto di questo buffer, a partire dall'indice e dalla dimensione specificati.
L'indice più la nuova dimensione non devono essere maggiori della dimensione del buffer. Le modifiche al contenuto di questo buffer saranno visibili nel nuovo buffer e viceversa. Il nuovo buffer sarà di sola lettura se, e solo se, questo buffer è di sola lettura.
Parametri
indice | indice del primo valore del nuovo buffer creato |
---|---|
misurare | la dimensione di questo nuovo buffer non deve essere maggiore di size() |
Ritorni
- il nuovo tampone
public abstract DataBufferWindow < ByteDataBuffer > finestra (dimensione lunga)
Crea un DataBufferWindow
che fornisce una visualizzazione parziale di questo buffer.
La finestra creata ha una dimensione fissa e può "slide"
lungo questo buffer per fornire diverse visualizzazioni dei dati senza allocare una nuova istanza del buffer, come fa offset(long)
. Ciò migliora le prestazioni generali quando questa operazione viene ripetuta frequentemente. Per esempio:
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;
}
}
L'oggetto restituito è con stato e non è thread-safe.
Parametri
misurare | dimensione della finestra |
---|
Ritorni
- una nuova finestra che inizia dall'indice 0 di questo buffer
abstract pubblico ByteDataBuffer scrittura (byte[] src)
Metodo di inserimento in blocco, utilizzando matrici di byte.
Questo metodo trasferisce i valori nell'array di origine specificato in questo buffer. Se sono presenti più valori nell'array di origine che in questo buffer, ovvero se src.length > size()
, non viene trasferito alcun valore e viene generata un'eccezione BufferOverflowException.
Altrimenti, questo metodo copia i valori n = src.length
dall'array specificato.
Parametri
src | l'array di origine da cui leggere i valori |
---|
Ritorni
- questo buffer
Lancia
BufferOverflowException | se lo spazio in questo buffer non è sufficiente per i valori nell'array di origine |
---|---|
ReadOnlyBufferException | se questo buffer è di sola lettura |
public abstract ByteDataBuffer scrittura (byte[] src, int offset, int length)
Metodo di inserimento in blocco, utilizzando matrici di byte.
Questo metodo trasferisce i valori nell'array di origine specificato in questo buffer. Se sono presenti più valori nell'array di origine che in questo buffer, ovvero se length > size()
, non viene trasferito alcun valore e viene generata un'eccezione BufferOverflowException.
Altrimenti, questo metodo copia n = length
dall'array specificato in questo buffer, a partire dall'offset specificato.
Parametri
src | l'array di origine da cui leggere i valori |
---|---|
offset | l'offset all'interno dell'array del primo valore da leggere; deve essere non negativo e non maggiore di src.length |
lunghezza | il numero di valori da leggere dall'array specificato; deve essere non negativo e non maggiore di src.length - offset |
Ritorni
- questo buffer
Lancia
BufferOverflowException | se lo spazio in questo buffer non è sufficiente per i valori nell'array di origine |
---|---|
IndexOutOfBoundsException | se le precondizioni sui parametri offset e lunghezza non valgono |
ReadOnlyBufferException | se questo buffer è di sola lettura |