Java - Instancia Cla

 
Vista:

Instancia Cla

Publicado por Carmen (1 intervención) el 13/05/2011 20:03:24
Hola,
Soy nueva en Java y ando un poco perdida.
Tengo definidas 2 clases de Java similares dentro de las que tengo definidas 3 propiedades que son 2 listas y un string.
La idea de utilidad que tiene es yo voy a ir cargando valores en una de las clases y al pulsar sobre un botón los valores de esa lista se cargan en la otra clase eliminando los valores previos q. existiesen en esa clase.
Para esto he definido.:
- Definición de la clase 1

public class Clase1 {

private static final Clase1 instance = new Clase1();

private Clase1() {
}

public static Clase1 getInstance() {
return instance;
}

private Set<String> List1 = new HashSet<String>();
private List<Item> List2 = new ArrayList<Item>();
public Set<String> getList1() {
return List1;
}

public void setList1(Set<String> list1) {
this.List1 = list1;
}

public List<Item> List2() {
return List2;
}

public void setList2(List<Item> list2) {
this.List2 = list2;
}
public void vaciar(){
Lista1.clear();
Lista2.clear();
tipoLista = TIPO_VACIA;
}
. . . . . .
}

Faltaría el método add que lo que hace es añadir valor a la lista,.....

- Definicion de la clase 2 sería igual que la Clase1, cambiando en nombre de las variables


- En mi programa yo voy cargando los valores en la Clase1 y al pulsar un botón lo que quiero es que los valores de la clase1 se cargen en la clase2, sustituyendo los existentes en dicha lista por los que están en la clase1 y luego eliminar los valores que había en la clase1
Para ello lo que hago es en la clase en la que estoy trabajando:

Clase2.getInstance().vaciar();
Clase2.getInstance().setLista1(Clase1.getInstance().getList1);
Clase2.getInstance().setLista2(Clase1.getInstance().getList2);
Clase1.getInstance().vaciar();

-------
El problema que tengo es que al realizar el Clase1.getInstance().vaciar() además de borrarme los datos de la Clase1 me borra también los elementos de la Clase2.
Igualmente, he probado a no eliminar los elementos de la Clase1, cuando vuelvo a realizar la carga de datos con otros valores, según voy añadiendo elementos a la Clase1 además de cargarse en esta clase se cargan en la Clase2 aunque no haya pulsado el botón correspondiente que me ejecuta las sentencias anteriores.
Quiero entender que esto debe ser debido a la asignación que hago de las listas ¿es asi? ¿como debo hacer esto para que los elementos de las listas sean diferentes y solo se sustituyan y eliminen los que yo diga cuando yo diga.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Instancia Cla

Publicado por Nelson (6 intervenciones) el 25/05/2011 05:14:17
Mira las clases factoring en java . te va ayudar
http://ianp.org/2006/12/factory-methods-vs-factory-classes-in-java/
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar