Método hashCode() de Java Object
El método hashCode() de Object se utiliza para obtener el valor hash del objeto.
Sintaxis
object.hashCode()
Parámetros
Ninguno 。
Valor de retorno
Devuelve el valor hash del objeto, que es un entero que representa la posición en la tabla hash.
Ejemplo
El siguiente ejemplo demuestra el uso del método hashCode():
Ejemplo
class EjemploTest {
public static void main(String[] args) {
//Object usa hashCode()
Object obj1 = new Object();
System.out.println(obj1.hashCode());
Object obj2 = new Object();
System.out.println(obj2.hashCode());
Object obj3 = new Object();
System.out.println(obj3.hashCode());
}
}
El resultado de ejecución del programa anterior es:
225534817 1878246837 929338653
Las clases String y ArrayList usan el método hashCode(). Tanto String como ArrayList heredan de Object, por lo que pueden usar directamente el método hashCode():
Ejemplo
import java.util.ArrayList;
class EjemploTest {
public static void main(String[] args) {
//String usa hashCode()
String str = new String();
System.out.println(str.hashCode()); // 0
//ArrayList usa hashCode()
ArrayList<Integer> list = new ArrayList<>();
System.out.println(list.hashCode()); // 1
}
}
El resultado de ejecución del programa anterior es:
0 1
El siguiente ejemplo demuestra que si dos objetos son iguales, sus valores hash también son iguales:
Ejemplo
class EjemploTest {
public static void main(String[] args) {
//Object usa hashCode()
Object obj1 = new Object();
//Asignar obj1 a obj2
Object obj2 = obj1;
//Comprobar si dos objetos son iguales
System.out.println(obj1.equals(obj2)); // true
//Obtener los valores hash de obj1 y obj2
System.out.println(obj1.hashCode()); // 225534817
System.out.println(obj2.hashCode()); // 225534817
}
}
El resultado de ejecución del programa anterior es:
true 225534817 225534817
Otras extensiones
Clase Java Object