The toString() method of ByteBuffer class is the inbuilt method used to returns a string representing the data contained by ByteBuffer Object. A new String object is created and initialized to get the character sequence from this ByteBuffer object and then String is returned by toString(). Subsequent changes to this sequence contained by Object do not affect the contents of the String.
Syntax:Â
public abstract String toString()
Return Value: This method returns the String representing the data contained by ByteBuffer Object.
Below programs illustrate the ByteBuffer.toString() method:
Example 1:Â
Java
// Java program to demonstrate// toString() methodÂ
import java.nio.*;import java.util.*;Â
public class GFG {Â
    public static void main(String[] args)    {Â
        // Declaring the capacity of the ByteBuffer        int capacity = 5;Â
        // creating object of ByteBuffer        // and allocating size capacity        ByteBuffer bb1 = ByteBuffer.allocate(capacity);Â
        // putting the value in ByteBuffer        bb1.put((byte)10);        bb1.put((byte)20);Â
        // print the ByteBuffer        System.out.println("Original ByteBuffer: "                           + Arrays.toString(bb1.array()));Â
        // Creating a shared subsequence buffer of given ByteBuffer        // using toString() method        String value = bb1.toString();Â
        // print the ByteBuffer        System.out.println("\nstring representation of ByteBuffer: "                           + value);    }} |
Original ByteBuffer: [10, 20, 0, 0, 0] string representation of ByteBuffer: java.nio.HeapByteBuffer[pos=2 lim=5 cap=5]
Â
Example 2:
Java
// Java program to demonstrate// toString() methodÂ
import java.nio.*;import java.util.*;Â
public class GFG {Â
    public static void main(String[] args)    {Â
        // Declaring the capacity of the ByteBuffer        int capacity = 4;Â
        // creating object of ByteBuffer        // and allocating size capacity        ByteBuffer bb1 = ByteBuffer.allocate(capacity);Â
        // putting the value in ByteBuffer        bb1.put((byte)10)            .put((byte)20)            .put((byte)30)            .put((byte)40);Â
        // print the ByteBuffer        System.out.println("Original ByteBuffer: "                           + Arrays.toString(bb1.array()));Â
        // Creating a shared subsequence buffer of given ByteBuffer        // using toString() method        String value = bb1.toString();Â
        // print the ByteBuffer        System.out.println("\nstring representation of ByteBuffer: "                           + value);    }} |
Original ByteBuffer: [10, 20, 30, 40] string representation of ByteBuffer: java.nio.HeapByteBuffer[pos=4 lim=4 cap=4]
Â
Reference: https://docs.oracle.com/javase/9/docs/api/java/nio/ByteBuffer.html#toString–
Â
