Digamos que creo un objeto y lo agrego a mi ArrayList
. Si luego creo otro objeto con exactamente la misma entrada del constructor, ¿evaluará el contains()
método que los dos objetos sean iguales? Suponga que el constructor no hace nada divertido con la entrada, y las variables almacenadas en ambos objetos son idénticas.
ArrayList<Thing> basket = new ArrayList<Thing>();
Thing thing = new Thing(100);
basket.add(thing);
Thing another = new Thing(100);
basket.contains(another); // true or false?
class Thing {
public int value;
public Thing (int x) {
value = x;
}
equals (Thing x) {
if (x.value == value) return true;
return false;
}
}
¿Es así como class
debería implementarse para tener contains()
retorno true
?