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