Efectivamente lo que hace cualquier implementacion de list en el contains()
es llamar al equals(Object other) definido en la clase Object y heredada por
todos los objetos, la implementacion por default hereadad de la clase Object
es llamar a == comparando referencias, si queres que compare por los
atributos tenes que implementar vos mismo el equals().....

Acordate tambien que para que esta implementacion funcione tanto en Listas
como en HashMaps ademas de implementar el equals() implementa el hashCode()
ya que es un requerimiento de Java Sun que siempre que modifiques o
implementes tu equals tambien implementes el hashCode asi que comparando dos
objetos iguales te de el mismo hashCode()... de esa forma te aseguras que
buscando un objeto en una lista y en un hashmap te de el mismo resultado

Saludos
Pablo

2008/3/17, Victor Del Rio <[EMAIL PROTECTED]>:
>
> Hola, tengo la siguiente duda:
>
> Si yo quiero que en una lista al preguntar si ya contiene un determinado
> objeto ( contains() ) no me responda comparando las referencias, sino que lo
> haga comparando un atributo de los mismos, ¿ tengo que redefinir el
> metodo equals de object para la clase contenida en la lista ?
>
> ------------------------------
>
> Yahoo! Encuentros
> Ahora encontrar pareja es mucho más fácil, probá el nuevo Yahoo!
> Encuentros.
> Visitá http://yahoo.cupidovirtual.com/servlet/NewRegistration
>
>
> _______________________________________________
> Lista de correo Programacion.
> [email protected]
> http://listas.fi.uba.ar/mailman/listinfo/programacion
>
>
_______________________________________________
Lista de correo Programacion.
[email protected]
http://listas.fi.uba.ar/mailman/listinfo/programacion

Responder a