java.nio.FloatBuffer
is a class we can use to store a buffer of floating-point values. The put()
method of the class java.nio.FloatBuffer
writes a floating-point value to a buffer. The FloatBuffer.put()
method writes the floating-point value at the current
The FloatBuffer.put()
method can be declared as follows:
buff1.put(x);
buff1
: The FloatBuffer
in which the floating-point value x
will be written.x
: The floating-point value that will be written to buff1
.The FloatBuffer.put()
method returns the FloatBuffer
buff1
after writing the floating-point value x
to it.
Note:
- If the position of
buff1
is not less than theof limit The first index of the buffer that should not be read or written buff1
, theBufferOverflowException
is thrown.- If
buff1
is read-only, theReadOnlyBufferException
is thrown.
Consider the code snippet below, which demonstrates the use of the FloatBuffer.put()
method:
import java.nio.*;import java.util.*;public class main {public static void main(String[] args) {int n1 = 5;int n2 = 4;try {FloatBuffer buff1 = FloatBuffer.allocate(n1);buff1.put(1.2F);buff1.put(5.9F);System.out.println("buff1: " + Arrays.toString(buff1.array()));System.out.println("position: " + buff1.position());} catch (IllegalArgumentException e) {System.out.println("Error!!! IllegalArgumentException");} catch (ReadOnlyBufferException e) {System.out.println("Error!!! ReadOnlyBufferException");}}}
FloatBuffer
buff1
is declared in line 8.buff1
using the FloatBuffer.put()
method in line 9. After adding the first element, the position of buff1
is incremented from 0 to 1.buff1
using the FloatBuffer.put()
method in line 10. After adding the second element, the position of buff1
is incremented from 1 to 2.As explained above, using the FloatBuffer.put()
method on a read-only buffer throws the ReadOnlyBufferException
. Consider the code snippet below which demonstrates this:
import java.nio.*;import java.util.*;public class main {public static void main(String[] args) {int n1 = 5;int n2 = 4;try {FloatBuffer buff1 = FloatBuffer.allocate(n1);FloatBuffer buff2 = buff1.asReadOnlyBuffer();buff2.put(1.2F);buff2.put(5.9F);System.out.println("buff2: " + Arrays.toString(buff2.array()));System.out.println("position: " + buff2.position());} catch (IllegalArgumentException e) {System.out.println("Error!!! IllegalArgumentException");} catch (ReadOnlyBufferException e) {System.out.println("Error!!! ReadOnlyBufferException");}}}
FloatBuffer
buff1
is declared in line 8.FloatBuffer
buff2
is declared in line 10 that is the read-only copy of buff1
.FloatBuffer.put()
method is used in line 11 which tries writing a value to buff2
. The ReadOnlyBufferException
is thrown because buff2
is read-only and cannot be modified.