Collection

5 respostas
A

Galera, vc podem dar uma olhada nesse meu codigo. Estou apanhando para fazer uma collection de objetos. A minha saída sempre sai com o mesmo valor. Parece que está subestituindo o ultimo vamor em todos os registro. Vlw

public static void main(String[] args) {

        ArrayList al = new ArrayList ();
        int d = 0;
       
    while (d&lt10) {

     testeBean testebean =   new testeBean();
        testebean.setA(d);
        testebean.setB("B"+"***"+"-d-"+d);
        al.add(testebean);
   
        System.out.println("Entrada "+testebean.getA());
        d++;
    }
   
Iterator it = al.iterator(); 
 
 while (it.hasNext())
 {
    testeBean novoBean = (testeBean) it.next(); 
    System.out.println("Saída "+novoBean.getA());
    System.out.println("Saída "+novoBean.getB());
 }

    }
 
}

[color=darkred]Aprenda a usar as tags Code para seu código não aparecer sem identação[/color]

5 Respostas

R

O código está correto, inclusive eu o compilei aqui e funcionou. Será que não está executando uma versão anterior ou com parenteses em lugares errados?

Veja o resultado da execução do código (criando uma classe TesteBean):

Entrada 0
Entrada 1
Entrada 2
Entrada 3
Entrada 4
Entrada 5
Entrada 6
Entrada 7
Entrada 8
Entrada 9
Saída 0
Saída B***-d-0
Saída 1
Saída B***-d-1
Saída 2
Saída B***-d-2
Saída 3
Saída B***-d-3
Saída 4
Saída B***-d-4
Saída 5
Saída B***-d-5
Saída 6
Saída B***-d-6
Saída 7
Saída B***-d-7
Saída 8
Saída B***-d-8
Saída 9
Saída B***-d-9

Rodrigo Castro
Mercado de Serviços - http://www.mercadodeservicos.com.br
Encontre Prestadores de Serviços e Contrate Serviços Online

aleck

Funciona perfeitamente aqui. Poderia colar aqui sua classe TesteBean? Pode estar nela o problema.

Abraços.

Entrada 0
Entrada 1
Entrada 2
Entrada 3
Entrada 4
Entrada 5
Entrada 6
Entrada 7
Entrada 8
Entrada 9
Saída 0
Saída B***-d-0
Saída 1
Saída B***-d-1
Saída 2
Saída B***-d-2
Saída 3
Saída B***-d-3
Saída 4
Saída B***-d-4
Saída 5
Saída B***-d-5
Saída 6
Saída B***-d-6
Saída 7
Saída B***-d-7
Saída 8
Saída B***-d-8
Saída 9
Saída B***-d-9
416056 micro seconds to Initialize the JVM
Entry point Java class: ‘foo.bar.TesteCollectionGuj’
Number of arguments : 0
---- Argument list ----

cosen

Talvez os atributos da classe TesteBean estejam com o modificador static. Neste caso todos os objetos que vc cria da classe TesteBean estariam modificando a mesma variável.

A classe TesteBean teria quer ser +/- assim:
public class TesteBean
{
	private int a;

	private String b;

	public int getA()
	{
		return a;
	}

	public void setA(int a)
	{
		this.a = a;
	}

	public String getB()
	{
		return b;
	}

	public void setB(String b)
	{
		this.b = b;
	}
}
A

Aqui da pau. é exatamente essa a versão.
Já usei todos os tipos de collections e continua o mesmo erro.

A

mas valeu galera. Agora pelo menos já sei q o problema não é o codigo!

Criado 8 de setembro de 2006
Ultima resposta 8 de set. de 2006
Respostas 5
Participantes 4