El método equals() en Float Class es una función integrada en Java que compara este objeto con el objeto especificado. El resultado es verdadero si y solo si el argumento no es nulo y es un objeto flotante que contiene el mismo valor doble que este objeto. Devuelve falso si ambos objetos no son iguales.
Sintaxis:
public boolean equals(Object obj)
Parámetro: el método acepta solo un parámetro obj que especifica que el objeto pasado es el objeto con el que se va a comparar.
Valores devueltos: la función devuelve un valor booleano después de compararlo con el objeto pasado en el parámetro:
- Devuelve verdadero si y solo si el argumento no es nulo y es un objeto flotante que contiene el mismo valor doble que este objeto. Devuelve falso si el objeto no es el mismo.
- Si f1 y f2 se representan como Float.NaN , entonces el método equals() devuelve verdadero, incluso si Float.NaN==Float.NaN tiene el valor falso.
- Si f1 representa +0.0f mientras que f2 representa -0.0f, o viceversa, la prueba de igualdad tiene el valor falso, aunque 0.0f==-0.0f tiene el valor verdadero.
Los siguientes programas ilustran el uso del método Float.equals() :
Programa 1:
// Java program to demonstrate // Float.equals() method import java.lang.*; class Gfg1 { public static void main(String args[]) { // When two objects are different Float obj1 = new Float(123123); Float obj2 = new Float(164165); System.out.print("The objects " + obj1 + " and " + obj2 + "are : "); if (obj1.equals(obj2)) System.out.println("Equal"); else System.out.println("Not equal"); // When two objects are equal obj1 = new Float(12345); obj2 = new Float(12345); System.out.print("The objects " + obj1 + " and " + obj2 + "are : "); if (obj1.equals(obj2)) System.out.print("Equal"); else System.out.print("Not Equal"); } }
The objects 123123.0 and 164165.0are : Not equal The objects 12345.0 and 12345.0are : Equal
Programa 2: Uso de Float.NaN
// Java program to demonstrate // Float.equals() method import java.lang.*; class Gfg1 { public static void main(String args[]) { Float obj1 = new Float(Float.NaN); Float obj2 = new Float(Float.NaN); System.out.print("The objects " + obj1 + " and " + obj2 + "are : "); if (obj1.equals(obj2)) System.out.println("Equal"); else System.out.println("Not equal"); } }
The objects NaN and NaNare : Equal
Programa 3: Usando el valor flotante 0.0f
// Java program to demonstrate // Float.equals() method import java.lang.*; class Gfg1 { public static void main(String args[]) { Float obj1 = new Float(0.0f); Float obj2 = new Float(-0.0f); System.out.print("The objects " + obj1 + " and " + obj2 + "are : "); if (obj1.equals(obj2)) System.out.println("Equal"); else System.out.println("Not equal"); } }
The objects 0.0 and -0.0are : Not equal
Referencia: https://docs.oracle.com/javase/7/docs/api/java/lang/Float.html#equals(java.lang.Object)