El método equals() de java.lang.reflect .Field se usa para comparar dos objetos de campo. Este método compara dos objetos de campo y devuelve verdadero si ambos objetos son iguales; de lo contrario, devuelve falso. Los dos objetos Field se consideran iguales si y solo si cuando fueron declarados por la misma clase y tienen el mismo nombre y tipo. Este método es muy útil a la hora de depurar las propiedades de los objetos que en realidad son campos de una clase en Java.
Sintaxis:
public boolean equals(Object obj)
Parámetros: este método acepta un parámetro obj que es el objeto de referencia para comparar con este objeto de campo.
Valor de retorno: este método devuelve verdadero si ambos objetos son iguales, de lo contrario, es falso.
Los siguientes programas ilustran el método equals():
Programa 1:
// Java program to demonstrate the above method import java.lang.reflect.Field; public class GFG { public static void main(String[] args) throws NoSuchFieldException, SecurityException { // get the array of Field objects Field[] fields = User.class.getDeclaredFields(); Field fieldObj = User.class.getField("name"); // print element of field array // and compare it with fieldObj for (int i = 0; i < fields.length; i++) { // compare the fields with each other boolean isEquals = fields[i].equals(fieldObj); if (isEquals) { System.out.println( "Field -> [" + fields[i] + "] and" + " FieldObj -> [" + fieldObj + "] are equal."); } else { System.out.println( "Field -> [" + fields[i] + "] and" + " FieldObj -> [" + fieldObj + "] are not equal."); } } } } // User class class User { public String name; public int age; }
Field -> [public java.lang.String User.name]
y
FieldObj -> [public java.lang.String User.name]
son iguales.Field -> [public int User.age]
y
FieldObj -> [public java.lang.String User.name]
no son iguales.
Programa 2:
// Java program to demonstrate the above method import java.lang.reflect.Field; public class GFG { public static void main(String[] args) throws NoSuchFieldException, SecurityException { // get the array of Field objects Field[] fields1 = Class.class.getDeclaredFields(); Field[] fields2 = Class.class.getDeclaredFields(); // print element of field array 1 and compare // it with fields array 2 for (int i = 0; i < fields1.length; i++) { for (int j = 0; j < fields2.length; j++) { // compare the fields with each other boolean isEquals = fields1[i].equals(fields2[j]); if (isEquals) { System.out.println( "Field -> [" + fields1[i] + "] and" + " FieldObj -> [" + fields2[j] + "] are equal."); } else { System.out.println( "Field -> [" + fields1[i] + "] and" + " FieldObj -> [" + fields2[j] + "] are not equal."); } } } } } // Object of Class which contains // noOfStudents and studentNames class Class { public int noOfStudents; public String[] studentNames; }
Field -> [public int Class.noOfStudents]
y
FieldObj -> [public int Class.noOfStudents]
son iguales.Field -> [public int Class.noOfStudents]
y
FieldObj -> [public java.lang.String[] Class.studentNames]
no son iguales.Field -> [public java.lang.String[] Class.studentNames]
y
FieldObj -> [public int Class.noOfStudents]
no son iguales.Field -> [public java.lang.String[] Class.studentNames]
y
FieldObj -> [public java.lang.String[] Class.studentNames]
son iguales.
Referencias: https://docs.oracle.com/javase/10/docs/api/java/lang/reflect/Field.html#equals(java.lang.Object)
Publicación traducida automáticamente
Artículo escrito por AmanSingh2210 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA