Hola, actualmente estoy estudiando para una final de Java y estoy confundido por un simple método equals
.¿Cómo funciona el método igual de una matriz?
La pregunta dada es
"Dadas las siguientes declaraciones de matrices, lo que hace la siguiente impresión"
y pensé que sería verdadero, falso, verdadero sin embargo después de copiar y pegar el el código revela que la respuesta es falsa, falsa, verdadera.
Entiendo que el ==
solo funciona cuando son la misma instancia del objeto, pero no entiendo por qué el primero es falso. Intenté encontrar el método en la API api pero no pude encontrar uno con los mismos argumentos.
Perdóname si esto es obvio, he estado despierto hasta tarde las últimas dos noches estudiando y estoy bastante cansado de la cafeína en este momento.
int[] d = { 1, 2, 3 };
int[] b = { 1, 2, 3 };
int[] c = d;
System.out.println(d.equals(b));
System.out.println(d == b);
System.out.println(d == c);
+1 para dar pistas sobre cómo lograr la igualdad de secuencia/valor (y no porque usted sea Jon Skeet). –
Y para completar el pensamiento, hay varias sobrecargas de 'Arrays.equals', así como también' Arrays.deepEquals (Object, Object) ', que puede darte una igualdad más" natural ". – yshavit
Objeto tiene un método igual ... Sabía que no podía pensar, lo entiendo ahora después de una siesta. ¡¡¡Muchísimas gracias por ayudarme a entender !! – Erik