Clase de método | Método hashCode() en Java

El método java.lang.reflect .Method.hashCode() devuelve el código hash para el objeto de la clase Method. El código hash devuelto se calcula mediante una operación o exclusiva en los códigos hash para el nombre de la clase declarante del método y el nombre del método. 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 algoritmos relacionados con hash como hashtable, hashmap, etc. También se puede buscar un objeto con este código único.

Sintaxis: 

public int hashCode()

Devoluciones: devuelve un valor entero que representa el valor hashCode para este método.

Ejemplo:

Method: public void getvalue(){}
HashCode: 1553975225
Explanation: Hashcode is a unique code generated by the JVM at time of creation of the object
of Method getValue.when we going to apply hashCode function on method object of 
getValue it will return 1553975225 as hashCode.

Method:public void paint(){}
HashCode: 1643975341

El siguiente programa ilustra el método hashcode() de la clase Method: 

Programa 1: obtenga el código hash de un objeto de método específico creado llamando a getDeclaredMethod() del objeto Class.

Java

/*
* Program Demonstrate hashcode() method of Method Class.
*/
import java.lang.reflect.Method;
 
public class GFG {
 
    // create a Method name getSampleMethod
    public void getSampleMethod() {}
 
    // create main method
    public static void main(String args[])
    {
 
        try {
 
            // create class object for class name GFG
            Class c = GFG.class;
 
            // get Method object of method name getSampleMethod
            Method method = c.getDeclaredMethod("getSampleMethod", null);
 
            // get hashcode of method object using hashCode() method
            int hashCode = method.hashCode();
 
            // Print hashCode with method name
            System.out.println("hashCode of method " + method.getName()
                               + " is " + hashCode);
        }
        catch (Exception e) {
            // print if any exception occurs
            e.printStackTrace();
        }
    }
}

Producción: 

hashCode of method getSampleMethod is 1553813225

Programa 2: 
en este programa, después de obtener una lista de objetos de método de un objeto de clase llamando al método getMethods() del objeto de clase, se llama al método hashCode() del objeto de método para cada objeto de método de la lista. Por último, el código hash se imprime junto con el nombre del método.

Java

/*
* Program Demonstrate hashcode() method of Method Class.
*/
import java.lang.reflect.Method;
 
public class GFG {
 
    // create a Method name getSampleMethod
    public void getSampleMethod() {}
 
    // create a Method name setSampleMethod
    public String setSampleMethod()
    {
 
        String str = "hello India";
        return str;
    }
 
    // create main method
    public static void main(String args[])
    {
 
        try {
 
            // create class object for class name GFG
            Class c = GFG.class;
 
            // get list of Method objects
            // of class object of gfg class
            Method[] methods = c.getMethods();
 
            // loop through methods list
            // and get hashcode of every method
            // and print those hashcode along with Method Name
            for (Method m : methods) {
 
                // get hashcode of current method of loop
                int hashCode = m.hashCode();
 
                // Print hashCode along with method name
                System.out.println("hashCode of method "
                                   + m.getName()
                                   + " is " + hashCode);
            }
        }
        catch (Exception e) {
            // print Exception if any Exception occurs.
            e.printStackTrace();
        }
    }
}

Producción: 

hashCode of method main is 3282673
hashCode of method getSampleMethod is 1553813225
hashCode of method setSampleMethod is -1830532123
hashCode of method wait is 1063184614
hashCode of method wait is 1063184614
hashCode of method wait is 1063184614
hashCode of method equals is -1918826964
hashCode of method toString is -1451283457
hashCode of method hashCode is 933549448
hashCode of method getClass is 1261057617
hashCode of method notify is -43061542
hashCode of method notifyAll is 1312178187

Explicación: la salida de este programa también muestra resultados para objetos de método distintos de los métodos definidos en el objeto de clase como esperar, es igual a, toString, hashCode, getClass, notificar y notificar a todos, que se heredan del objeto de superclase del paquete java.lang por objeto de clase.

Referencia:  
https://docs.oracle.com/javase/8/docs/api/java/lang/reflect/Method.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 *