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
