IntBuffer arrayOffset() method in Java
Last Updated :
19 Sep, 2018
The
arrayOffset() method of
java.nio.IntBuffer class is used to return the offset within the buffer's backing array of the first element of the buffer. It means that if this buffer is backed by an array, then buffer position p corresponds to array index p + arrayOffset().
Inorder to check whether this buffer has a backing array,
hasArray() method can be used. It ensures that this buffer has an accessible backing array.
Syntax :
public final int arrayOffset()
Return Value: This method returns the
offset within this buffer's array of the first element of the buffer.
Exception: This method throws
ReadOnlyBufferException if this buffer is backed by an array but is read-only
Below program illustrates the
arrayOffset() method.
Examples 1:
Java
// Java program to demonstrate
// arrayOffset() method
import java.nio.*;
import java.util.*;
public class GFG {
public static void main(String[] args)
{
// Declaring the capacity of the IntBuffer
int capacity = 10;
// Creating the IntBuffer
try {
// creating object of Intbuffer
// and allocating size capacity
IntBuffer ib = IntBuffer.allocate(capacity);
// putting the value in Intbuffer
ib.put(8);
ib.put(2, 9);
// print the IntBuffer
System.out.println("IntBuffer: "
+ Arrays.toString(ib.array()));
// print the arrayOffset
System.out.println("arrayOffset: "
+ ib.arrayOffset());
}
catch (IllegalArgumentException e) {
System.out.println("IllegalArgumentException catched");
}
catch (ReadOnlyBufferException e) {
System.out.println("Exception throws" + e);
}
}
}
Output:
IntBuffer: [8, 0, 9, 0, 0, 0, 0, 0, 0, 0]
arrayOffset: 0
Examples 2: To demonstrate ReadOnlyBufferException
Java
// Java program to demonstrate
// arrayOffset() method
import java.nio.*;
import java.util.*;
public class GFG {
public static void main(String[] args)
{
// Declaring the capacity of the IntBuffer
int capacity = 10;
// Creating the IntBuffer
try {
// creating object of Intbuffer
// and allocating size capacity
IntBuffer ib = IntBuffer.allocate(capacity);
// putting the value in Intbuffer
ib.put(8);
ib.put(2, 9);
ib.rewind();
// Creating a read-only copy of IntBuffer
// using asReadOnlyBuffer() method
IntBuffer ib1 = ib.asReadOnlyBuffer();
// print the IntBuffer
System.out.print("Read only buffer : ");
while (ib1.hasRemaining())
System.out.print(ib1.get() + ", ");
// next line
System.ou(t.println("");
// print the arrayOffset
System.out.println("\nTry to print the array offset"
+ " of read only buffer");
System.out.println("arrayOffset: " + ib1.arrayOffset());
}
catch (IllegalArgumentException e) {
System.out.println("Exception throws: " + e);
}
catch (ReadOnlyBufferException e) {
System.out.println("Exception throws: " + e);
}
}
}
Output:
Read only buffer : 8, 0, 9, 0, 0, 0, 0, 0, 0, 0,
Try to print the array offset of read only buffer
Exception throws: java.nio.ReadOnlyBufferException
Similar Reads
IntBuffer array() method in Java The array() method of java.nio.IntBuffer Class is used to Return the int array that backs this buffer. Modifications to this buffer's content will cause the returned array's content to be modified, and vice versa. Invoke() the hasArray() method are used before invoking this method in order to ensure
3 min read
IntBuffer hasArray() method in Java The hasArray() method of java.nio.IntBuffer class is used to ensure whether or not the given buffer is backed by an accessible int array. It returns true if there is an accessible backing array to this buffer, else it returns false. If this method returns true, then the array() and arrayOffset() met
2 min read
IntBuffer compareTo() method in Java The compareTo() method of java.nio.IntBuffer class is used to compare one buffer to another. Two int buffers are compared by comparing their sequences of remaining elements lexicographically, without regard to the starting position of each sequence within its corresponding buffer. Pairs of int eleme
4 min read
CharBuffer arrayOffset() method in Java The arrayOffset() method of java.nio.CharBuffer class is used to return the offset within the buffer's backing array of the first element of the buffer. It means that if this buffer is backed by an array, then buffer position p corresponds to array index p + arrayOffset(). Inorder to check whether t
3 min read
IntBuffer allocate() method in Java The allocate() method of java.nio.IntBuffer Class is used to allocate a new int buffer next to the existing buffer. The new buffer's position will be zero. Its limit will be its capacity. Its mark will be undefined. And each of its elements will be initialized to zero. It will have a backing array,
2 min read
IntBuffer equals() method in Java The equals() method of java.nio.IntBuffer Class is used to check whether or not the given buffer is equal to another object. Two int buffers are equal if, and only if, They have the same element type, They have the same number of remaining elements, and The two sequences of remaining elements, consi
4 min read