The equals() method of java.nio.ByteBuffer class is used to check whether or not the given buffer is equal to another object.
Two byte 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, considered independently of their starting positions, are pointwise equal.
A byte buffer is not equal to any other type of object.
Syntax:
public boolean equals(Object ob)
Parameters: This method takes the ob(The object to which this buffer is to be compared) as a parameter.
Return Value: This method returns true if, and only if, this buffer is equal to the given object.
Below are the examples to illustrate the equals() method:
Examples 1:
// Java program to demonstrate // equals() method   import java.nio.*; import java.util.*;   public class GFG {       public static void main(String[] args)     {           // Declaring the capacity of the ByteBuffer 1         int capacity1 = 5 ;           // Declaring the capacity of the ByteBuffer 2         int capacity2 = 5 ;           // Creating the ByteBuffer         try {               // creating object of ByteBuffer 1             // and allocating size capacity             ByteBuffer bb1 = ByteBuffer.allocate(capacity1);               // creating object of ByteBuffer 2             // and allocating size capacity             ByteBuffer bb2 = ByteBuffer.allocate(capacity2);               // putting the int to byte typecast value in ByteBuffer 1             bb1.put(( byte ) 20 );             bb1.put(( byte ) 30 );             bb1.put(( byte ) 40 );             bb1.rewind();               // putting the value in ByteBuffer 2             bb2.put(( byte ) 20 );             bb2.put(( byte ) 30 );             bb2.put(( byte ) 40 );             bb2.rewind();               // print the ByteBuffer 1             System.out.println( " ByteBuffer 1: "                                + Arrays.toString(bb1.array()));               // print the ByteBuffer 2             System.out.println( " ByteBuffer 2: "                                + Arrays.toString(bb2.array()));               // checking the equality of both ByteBuffer             boolean b = bb1.equals(bb2);               // checking if else condition             if (b)                 System.out.println( " both are equal" );             else                 System.out.println( " both are not equal" );         }           catch (IllegalArgumentException e) {             System.out.println( "Exception thrown : " + e);         }           catch (ReadOnlyBufferException e) {             System.out.println( "Exception thrown : " + e);         }     } } |
ByteBuffer 1: [20, 30, 40, 0, 0] ByteBuffer 2: [20, 30, 40, 0, 0] both are equal
Examples 2:
// Java program to demonstrate // equals() method   import java.nio.*; import java.util.*;   public class GFG {       public static void main(String[] args)     {           // Declaring the capacity of the ByteBuffer 1         int capacity1 = 5 ;           // Declaring the capacity of the ByteBuffer 2         int capacity2 = 3 ;           // Creating the ByteBuffer         try {               // creating object of ByteBuffer 1             // and allocating size capacity             ByteBuffer bb1 = ByteBuffer.allocate(capacity1);               // creating object of ByteBuffer 2             // and allocating size capacity             ByteBuffer bb2 = ByteBuffer.allocate(capacity2);               // putting the int to byte typecast value in ByteBuffer 1             bb1.put(( byte ) 20 );             bb1.put(( byte ) 30 );             bb1.put(( byte ) 40 );             bb1.rewind();               // putting the value in ByteBuffer 2             bb2.put(( byte ) 20 );             bb2.put(( byte ) 30 );             bb2.put(( byte ) 40 );             bb2.rewind();               // print the ByteBuffer 1             System.out.println( " ByteBuffer 1: "                                + Arrays.toString(bb1.array()));               // print the ByteBuffer 2             System.out.println( " ByteBuffer 2: "                                + Arrays.toString(bb2.array()));               // checking the equality of both ByteBuffer             boolean b = bb1.equals(bb2);               // checking if else condition             if (b)                 System.out.println( " both are equal" );             else                 System.out.println( " both are not equal" );         }           catch (IllegalArgumentException e) {             System.out.println( "Exception thrown : " + e);         }           catch (ReadOnlyBufferException e) {             System.out.println( "Exception thrown : " + e);         }     } } |
ByteBuffer 1: [20, 30, 40, 0, 0] ByteBuffer 2: [20, 30, 40] both are not equal