La classe ByteBuffer fournit des méthodes get et put pour chaque type primitif. De plus, les méthodes sont déclinées pour les opérations relatives et absolues.
//Méthodes get relatives abstract char getChar() abstract double getDouble() abstract float getFloat() abstract int getInt() abstract long getLong() abstract short getShort() //Méthodes get absolues abstract char getChar(int index) abstract double getDouble(int index) abstract float getFloat(int index) abstract int getInt(int index) abstract long getLong(int index) abstract short getShort(int index) //Méthodes put relatives abstract ByteBuffer putChar(char value) abstract ByteBuffer putDouble(double value) abstract ByteBuffer putFloat(float value) abstract ByteBuffer putInt(int value) abstract ByteBuffer putLong(long value) abstract ByteBuffer putShort(short value) //Méthodes put absolues abstract ByteBuffer putChar(int index, char value) abstract ByteBuffer putDouble(int index, double value) abstract ByteBuffer putFloat(int index, float value) abstract ByteBuffer putInt(int index, int value) abstract ByteBuffer putLong(int index, long value) abstract ByteBuffer putShort(int index, short value)
Toutes les méthodes sont abstraites. Cela signifie que leur implémentation dépend la plateforme Java sous-jacente.
En parallèle, un objet peut avoir la capacité de créer des objets Buffer spécifiques à un type primitif.
Exemple [voir]CharBuffer cb = bb.asCharBuffer(); DoubleBuffer db = bb.asDoubleBuffer(); FloatBuffer fb = bb.asFloatBuffer(); IntBuffer ib = bb.asIntBuffer(); LongBuffer lb = bb.asLongBuffer(); ShortBuffer sb = bb.asShortBuffer();