en la documentación de Oracle Java, es igual a () de la lista dice que dos listas se definen como iguales si contienen los mismos elementos. Pero a partir de clases de objetos iguales () devuelve true sólo si su código hash es igual. Significa equals () de anulaciones lista es igual a método de clase de objeto. Y es igual para los iguales () de cadena. Como siempre que tengan mismos personajes, que devolverá true.
por lo que cada vez que declaro como un tipo de cuerda, o el uso de clases de lista como iguales ArrayList () son anulado automáticamente justo?
equals () se reemplaza automáticamente justo?
Respuesta: Sí toda la razón, Si solicita overriden .equals()
método se invoca automáticamente en tiempo de ejecución
** clase Object es clase padre para cada clase en Java y que constan de .equals()
método que compara las referencias a objetos
Pero String
la clase, las clases Wrapper (Integer,Long etc..)
y Clases Colecciones (ArrayList, hashSet etc..)
son anulados .equals()
método para comparar el contenido de objeto en lugar de referencias a objetos
Evita a confusiones aquí es el ejemplo claro
public class Main2 {
public static void main(String[] args) {
List<String> l1 = new ArrayList<>();
l1.add(new String("hello"));
List<String> l2 = new ArrayList<>();
l2.add(new String("hello"));
System.out.println(l1.equals(l2)); //true
List<Test> t1 = new ArrayList<>();
t1.add(new Test());
List<Test> t2 = new ArrayList<>();
t2.add(new Test());
System.out.println(t1.equals(t2)); //false
}
}
class Test{
}
En el ejemplo anterior comparando List<String>
devolverá cierto porque .euqals()
el método en String
se anula para comparar el contenido
Pero mientras que en comparación Lits<Test>
volverá falsa a pesar de que los dos objetos están vacíos, ya que .equals()
el método de Test
clase no se anula por defecto se invocará Object
clase .equals()
método que compara la referencia de objetos como ==
lo hace
Google Pregunta método es igual de clase de objeto compara código hash?
Responder
La clase java.lang.Object requiere que dos objetos que comparan igual utilizando los método equals () debe producir el mismo resultado entero cuando el método hashCode () se invoca en los objetos de la API [2014]. Los equals () se usa el método para determinar la equivalencia lógica entre instances.Feb objeto 12, 2018