What is the DoubleBuffer equals() method in Java?

The equals() method of the class java.nio.DoubleBuffer is used to check if two buffers are equal or not. Two buffers are equal if:

  • They have the same type of elements
  • They have the same number of elements
  • They have the same sequence of remaining elements

Note:

  • Unlike Double.equals(Object), -0.0 and +0.0 are considered equal by the DoubleBuffer.equals() method.
  • Two doubles f1 and f2 are considered equal by DoubleBuffer.equals() method if (f1 == f2) || (Double.isNaN(f1) && Double.isNaN(f2)).

Declaration

The DoubleBuffer.equals() method can be declared as:

buff1.equals(buff2);
  • buff1: The first buffer checked to see if it is equal to buff2.
  • buff2: The second buffer checked to see if it is equal to buff1.

Return value

The DoubleBuffer.equals() method returns a boolean such that:

  • The return value is true if the two buffers buff1 and buff2 are equal.
  • The return value is false if the two buffers buff1 and buff2 are not equal.

Examples

Example1

Consider the code snippet below, which demonstrates the use of the DoubleBuffer.equals() method:

import java.nio.*;
import java.util.*;
public class main {
public static void main(String[] args) {
int n1 = 4;
int n2 = 4;
try {
DoubleBuffer buff1 = DoubleBuffer.allocate(n1);
buff1.put(1.5);
buff1.put(4.6);
System.out.println("buff1: " + Arrays.toString(buff1.array()));
DoubleBuffer buff2 = DoubleBuffer.allocate(n2);
buff2.put(1.5);
buff2.put(4.6);
System.out.println("buff2: " + Arrays.toString(buff2.array()));
boolean foo = buff1.equals(buff2);
System.out.println("\nbuff1 equal to buff2: " + foo);
} catch (IllegalArgumentException e) {
System.out.println("Error!!! IllegalArgumentException");
} catch (ReadOnlyBufferException e) {
System.out.println("Error!!! ReadOnlyBufferException");
}
}
}

Explanation

  • A DoubleBuffer buff1 is declared in line 8. Two doubles are written to buff1 in lines 9-10.
  • A DoubleBuffer buff2 is declared in line 13. Two doubles are written to buff2 in lines 14-15.
  • The DoubleBuffer.equals() method is used in line 18 to check if the buffers buff1 and buff2 are equal. TheDoubleBuffer.equals() method returns true because buff1 and buff2 are equal.

Example 2

Consider the code snippet below, which compares two unequal buffers:

import java.nio.*;
import java.util.*;
public class main {
public static void main(String[] args) {
int n1 = 4;
int n2 = 5;
try {
DoubleBuffer buff1 = DoubleBuffer.allocate(n1);
buff1.put(1.5);
buff1.put(4.6);
System.out.println("buff1: " + Arrays.toString(buff1.array()));
DoubleBuffer buff2 = DoubleBuffer.allocate(n2);
buff2.put(1.5);
buff2.put(4.6);
System.out.println("buff2: " + Arrays.toString(buff2.array()));
boolean foo = buff1.equals(buff2);
System.out.println("\nbuff1 equal to buff2: " + foo);
} catch (IllegalArgumentException e) {
System.out.println("Error!!! IllegalArgumentException");
} catch (ReadOnlyBufferException e) {
System.out.println("Error!!! ReadOnlyBufferException");
}
}
}

Explanation

  • A DoubleBuffer buff1 is declared in line 8. Two doubles are written to buff1 in lines 9-10.
  • A DoubleBuffer buff2 is declared in line 13. Two doubles are written to buff2 in lines 14-15.
  • The DoubleBuffer.equals() method is used in line 18 to check if the buffers buff1 and buff2 are equal. TheDoubleBuffer.equals() method returns false because the number of elements of buff1 is 4 and the number of elements of buff2 is 5, which is not equal.

Free Resources

Copyright ©2024 Educative, Inc. All rights reserved