The charAt() method of java.nio.CharBuffer Class is used to read the character at the given index relative to the current position.
Syntax:
public final char charAt(int index)
Parameters: This method takes the index of the character to be read, relative to the position; must be non-negative and smaller than remaining().
Return Value: This method returns the character at index position() + index.
Exception: This method throws IndexOutOfBoundsException if the preconditions on index do not hold.
Below are the examples to illustrate the charAt(int index) method:
Example 1:
// Java program to demonstrate// charAt() method  import java.nio.*;import java.util.*;  public class GFG {    public static void main(String[] args)    {        // Creating the CharBuffer        try {              // creating object of CharBuffer            // and allocating size capacity            CharBuffer charbuffer                = CharBuffer.allocate(3);              // append the value in CharBuffer            // using append() method            charbuffer.append('a')                .append('b')                .append('c')                .rewind();              // print the CharBuffer            System.out.println("Original CharBuffer: "                               + Arrays.toString(                                     charbuffer.array()));              // Read char at particular Index            // using charAt() method            char value = charbuffer.charAt(2);              // Display the value            System.out.println("\nvalue at Index 0 is : "                               + value);        }          catch (IndexOutOfBoundsException e) {              System.out.println("\nindex is greater than"                               + " the capacity minus 1");            System.out.println("Exception throws : " + e);        }    }} |
Original CharBuffer: [a, b, c] value at Index 0 is : c
Example 2: To demonstrate IndexOutOfBoundsException.
// Java program to demonstrate// charAt() method  import java.nio.*;import java.util.*;  public class GFG {    public static void main(String[] args)    {        // Creating the CharBuffer        try {              // creating object of CharBuffer            // and allocating size capacity            CharBuffer charbuffer                = CharBuffer.allocate(3);              // append the value in CharBuffer            // using append() method            charbuffer.append('a')                .append('b')                .append('c')                .rewind();              // print the CharBuffer            System.out.println("Original CharBuffer: "                               + Arrays.toString(                                     charbuffer.array()));              // Read char at particular Index            // using charAt() method            char value = charbuffer.charAt(3);              // Display the value            System.out.println("\nvalue at Index 0 is : "                               + value);        }          catch (IndexOutOfBoundsException e) {              System.out.println("\nindex is greater than"                               + " the capacity minus 1");            System.out.println("Exception throws : " + e);        }    }} |
Original CharBuffer: [a, b, c] index is greater than the capacity minus 1 Exception throws : java.lang.IndexOutOfBoundsException
Reference: https://docs.oracle.com/javase/9/docs/api/java/nio/CharBuffer.html#charAt-int-
