What is the DoubleBuffer put() method in Java?
java.nio.DoubleBuffer is a class that can be used to store a buffer of double values. The put() method of the java.nio.DoubleBuffer class is used to write a double to a buffer. The DoubleBuffer.put() method writes the double at the current
Declaration
The DoubleBuffer.put() method can be declared as:
buff1.put(x);
buff1: TheDoubleBufferin which the doublexwill be written.x: The double that will be written tobuff1.
Return value
The DoubleBuffer.put() method returns the DoubleBuffer buff1 after writing the double x to it.
Note:
- If the position of
buff1is not less than theof limit The first index of the buffer that should not be read or written buff1, theBufferOverflowExceptionis thrown.- If
buff1is read-only, theReadOnlyBufferExceptionis thrown.
Example
Example 1
Consider the code snippet below, which demonstrates the use of the DoubleBuffer.put() method.
import java.nio.*;import java.util.*;public class main {public static void main(String[] args) {int n1 = 5;int n2 = 4;try {DoubleBuffer buff1 = DoubleBuffer.allocate(n1);buff1.put(1.2);buff1.put(5.9);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");}}}
Explanation
- A
DoubleBufferbuff1is declared in line 8. - An element is written to
buff1using theDoubleBuffer.put()method in line 9. After adding the first element, the position ofbuff1is incremented from 0 to 1. - Another element is written to
buff1using theDoubleBuffer.put()method in line 10. After adding the second element, the position ofbuff1is incremented from 1 to 2.
Example 2
As explained above, using the DoubleBuffer.put() method on a read-only buffer throws the ReadOnlyBufferException. Consider the code snippet below that demonstrates this.
import java.nio.*;import java.util.*;public class main {public static void main(String[] args) {int n1 = 5;int n2 = 4;try {DoubleBuffer buff1 = DoubleBuffer.allocate(n1);DoubleBuffer buff2 = buff1.asReadOnlyBuffer();buff2.put(1.2);buff2.put(5.9);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");}}}
Explanation
- A
DoubleBufferbuff1is declared in line 8. - A
DoubleBufferbuff2is declared in line 10 that is the read-only copy ofbuff1. - The
DoubleBuffer.put()method is used in line 11 to try writing a value tobuff2. TheReadOnlyBufferExceptionis thrown becausebuff2is read-only and cannot be modified.
Free Resources