Ver Mensaje Individual
  #3 (permalink)  
Antiguo 05/08/2014, 14:12
javierelena94
 
Fecha de Ingreso: agosto-2014
Mensajes: 4
Antigüedad: 9 años, 9 meses
Puntos: 0
Respuesta: Dudas de un trabajo

Gracias por responder y perdón por la tardanza.

He conseguido solucionar los problemas que tenía referente al contains.

Ahora tengo problemas relacionados con el equals y el "==". Quería hacer un método con el que pudiera saber si en una lista existía algún objeto igual que cualquier otro objeto que quisiera comparar, tal que así:

Código Java:
Ver original
  1. public static Boolean hayAppIgual(List<App> l, App a){
  2.         Boolean control = false;
  3.         for(int i = 0; i < l.size(); i++){
  4.             if(a.equals(l.get(i))){
  5.                 control = true;
  6.                 break;
  7.             }
  8.         }
  9.         return control;
  10.     }

El equals que uso debería seguir el siguiente método:

Código Java:
Ver original
  1. public boolean equeals(Object o){
  2.        
  3.         boolean control = false;
  4.         if(o instanceof App){
  5.             control = so.equals(((App) o).getSO());
  6.             if(control == true){
  7.                 control = nombre.equals(((App) o).getNombre());
  8.                 if(control == true){
  9.                     control = desa.equals(((App) o).getDesarrollador());
  10.                 }else{
  11.                     throw new IllegalArgumentException("Las dos aplicaciones no comparten nombre...");
  12.                 }
  13.             }else{
  14.                 throw new IllegalArgumentException("Las dos aplicaciones no comparten sistema operativo...");
  15.             }
  16.         }else{
  17.             throw new IllegalArgumentException("Las dos aplicaciones no son iguales...");
  18.         }
  19.         return control;
  20.     }

Pero me da como resultado "false", aunque evidentemente le pase una lista en la que hay un objeto igual, según los criterios que uso, que el objeto que quiero comparar.

No sé en qué o dónde fallo, así que lo agradecería si alguien pudiera ayudarme.