
Dudas de trabajo de facultad
Publicado por Javier (4 intervenciones) el 02/08/2014 21:56:59
Hola a la comunidad. Estoy haciendo un trabajo de la facultad en el que uso Eclipse Juno y me han surgido dudas que a lo mejor me podrían resolver aquí.
La primera tiene que ver con el siguiente método en el que quiero saber si un objeto está en un conjunto o no, y para ello uso el contains:
public static Boolean estaApp(App app, Set<App> sApp){
Boolean res = false;
if(sApp.contains(app)){
res = true;
}
return res;
}
"App" es un tipo que creé anteriormente.
El caso es que metí los tres primeros de los cuatro objetos que se ven a continuación:
App app1 = new AppImpl(TipoSO.WINDOWS, "Buscador de buenos nombres", ...);
App app2 = new AppImpl(TipoSO.ANDROID, "Buscador", ...);
App app3 = new AppImpl(TipoSO.IOS, "Otraplicacion", ...);
App app4 = new AppImpl(TipoSO.IOS, "Otraplicacion", ...);
En un conjunto que creé después:
Set<App> conjApp = new HashSet<App>();
conjApp.add(app1);
conjApp.add(app2);
conjApp.add(app3);
Y ya por último hice que se mostraran dos resultados por pantalla:
System.out.println(estaApp(app3, conjApp));
System.out.println(estaApp(app4, conjApp));
Tanto "app3" y "app4" tienen los mismos parámetros, por lo que me esperaba que por pantalla se viera:
true
true
Indicándome que ambos objetos están en el conjunto, ya que ambos son el mismo. Pero no fue así, el segundo resultado es un "false".
¿En qué me he equivocado?, ¿he usado mal el contains?
La primera tiene que ver con el siguiente método en el que quiero saber si un objeto está en un conjunto o no, y para ello uso el contains:
public static Boolean estaApp(App app, Set<App> sApp){
Boolean res = false;
if(sApp.contains(app)){
res = true;
}
return res;
}
"App" es un tipo que creé anteriormente.
El caso es que metí los tres primeros de los cuatro objetos que se ven a continuación:
App app1 = new AppImpl(TipoSO.WINDOWS, "Buscador de buenos nombres", ...);
App app2 = new AppImpl(TipoSO.ANDROID, "Buscador", ...);
App app3 = new AppImpl(TipoSO.IOS, "Otraplicacion", ...);
App app4 = new AppImpl(TipoSO.IOS, "Otraplicacion", ...);
En un conjunto que creé después:
Set<App> conjApp = new HashSet<App>();
conjApp.add(app1);
conjApp.add(app2);
conjApp.add(app3);
Y ya por último hice que se mostraran dos resultados por pantalla:
System.out.println(estaApp(app3, conjApp));
System.out.println(estaApp(app4, conjApp));
Tanto "app3" y "app4" tienen los mismos parámetros, por lo que me esperaba que por pantalla se viera:
true
true
Indicándome que ambos objetos están en el conjunto, ya que ambos son el mismo. Pero no fue así, el segundo resultado es un "false".
¿En qué me he equivocado?, ¿he usado mal el contains?
Valora esta pregunta


0