Método Field hashCode() en Java con ejemplos

El método hashCode() de java.lang.reflect.Field utilizado para obtener el código hash para este campo. El código hash final se calcula como el o exclusivo de los códigos hash para el nombre de la clase declarante del campo subyacente y su nombre. El código hash es siempre el mismo si el objeto no cambia. Hashcode es un código único generado por la JVM en el momento de la creación del objeto. Se puede usar para realizar alguna operación en un algoritmo relacionado con hash, como una tabla hash, un mapa hash, etc. También se puede buscar un objeto con este código único.

Sintaxis:

public int hashCode()

Parámetros: Este método no acepta nada.

Valor devuelto: este método devuelve un número entero que es el valor del código hash para este objeto.

Los siguientes programas ilustran el método hashCode():
Programa 1:

// Java program to demonstrate hashCode() method
  
import java.lang.reflect.Field;
  
public class GFG {
  
    public static void main(String[] args)
        throws Exception
    {
  
        // Get the marks field object
        Field field = User.class.getField("Marks");
  
        // Apply hashCode Method on User Object
        // to get the hashCode of Marks field
        int value = field.hashCode();
  
        // print result
        System.out.println("HashCode of Marks field"
                           + " is " + value);
  
        // Now Get the Fees field object
        field = User.class.getField("Fees");
  
        // Apply hashCode Method on User Object
        // to get the hashcode of Fees field
        value = field.hashCode();
  
        // print result
        System.out.println("HashCode of Fees field"
                           + " is " + value);
  
        // Now Get the name field object
        field = User.class.getField("name");
  
        // Apply hashCode Method on User Object
        // to get the hashCode of name field
        value = field.hashCode();
  
        // print result
        System.out.println("HashCode of name field"
                           + " is " + value);
    }
}
  
// sample User class
class User {
  
    // static double values
    public static double Marks = 34.13;
    public static float Fees = 3413.99f;
    public static String name = "Aman";
  
    public static double getMarks()
    {
        return Marks;
    }
  
    public static void setMarks(double marks)
    {
        Marks = marks;
    }
  
    public static float getFees()
    {
        return Fees;
    }
  
    public static void setFees(float fees)
    {
        Fees = fees;
    }
  
    public static String getName()
    {
        return name;
    }
  
    public static void setName(String name)
    {
        User.name = name;
    }
}
Producción:

HashCode of Marks field is 71482573
HashCode of Fees field is 591398
HashCode of name field is 1779040

Programa 2:

// Java program to demonstrate hashCode() method
  
import java.lang.reflect.Field;
import java.time.Month;
  
public class GFG {
  
    public static void main(String[] args)
        throws Exception
    {
  
        // Get all field objects of Month class
        Field[] fields = Month.class.getFields();
  
        for (int i = 0; i < fields.length; i++) {
  
            // print name of Fields
            System.out.println("HashCode of Field: "
                               + fields[i].hashCode());
        }
    }
}
Producción:

HashCode of Field: -297508095
HashCode of Field: 1296412905
HashCode of Field: 1475695976
HashCode of Field: 1343692077
HashCode of Field: 1404020238
HashCode of Field: 1401709321
HashCode of Field: 1401709395
HashCode of Field: 538235208
HashCode of Field: 2125827066
HashCode of Field: -1718938229
HashCode of Field: -1007182215
HashCode of Field: 59532142

Referencias: https://docs.oracle.com/javase/8/docs/api/java/lang/reflect/Field.html#hashCode–

Publicación traducida automáticamente

Artículo escrito por AmanSingh2210 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *