Java - Problemas con Vectores (.add)

 
Vista:

Problemas con Vectores (.add)

Publicado por Geovany (1 intervención) el 02/03/2017 02:29:41
Buenas noches,
Actualmente estoy teniendo un inconveniente con el metodo .add() de la clase Vector de java, donde en un metodo tengo que buscar varios objetos que cumplan con ciertas caracteristicas, y luego guardarlos en el vector.
El problema es que cuando creo el objeto para agregar pareciera que lo guardara por referencia, porque termina el Vector con n objetos con las mismas caracteristicas... Que estoy haciendo mal? (adjunto el fragmento de codigo

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
System.out.print("\n--En creacion\n");
	if(flag==true){
		Nodo nuevo = new Nodo();
		nuevo.estd=new Estado(longitud);
		nuevo.estd.panckakes=tmp;
		nuevo.padre=actual;
		nuevo.regla=i;
		nuevo.profundidad=actual.profundidad+1;
		for(int c=0; c<longitud; c++) System.out.print(nuevo.estd.panckakes[c]+" ");
		System.out.print("\n");
 
 
		posibles.add(nuevo);
 
		generados++;
	}
}
System.out.print("\n-- En el vector\n");
 
for(int ind=0; ind<posibles.size(); ind++){
	for(int c=0; c<longitud; c++) System.out.print(posibles.get(ind).estd.panckakes[c]+" ");
	System.out.print("\n");
}
System.out.print("\n--\n");
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

Problemas con Vectores (.add)

Publicado por Tom (1831 intervenciones) el 02/03/2017 16:49:55
Por supuesto que lo guarda por referencia :) ... como todo. Pero ya que vas creando un nuevo objeto cada vez, la referencia también cambia.

Si por "características" te refieres al contenido de .panckakes (eso parece), tu fallo estará en tmp ya que probablemente uses el mismo objeto para todos tus nuevos nodos.
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