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–
Â