[Resolvido] Como adicionar vários objetos em um Arraylist?

Olá pessoal!

Estou com um problema que simplesmente não estou conseguindo resolver. Quero adicionar uma instancia de vários objetos em um ArrayList, como faço isso?
Tentei fazer da seguinte forma, mas todos os valores do array ficam valendo o valor da última instancia.

Foo foo =  new Foo();
List<Foo> listaFoo = new ArrayList<Foo>();

foo.setTitulo("Titulo 1");
foo.setDescricao("Descrição 1");
listaFoo.add(foo);

foo.setTitulo("Titulo 2");
foo.setDescricao("Descrição 2");
listaFoo.add(foo);

Agradeço desde já pela ajuda!

Não estás a adicionar vários objectos. Estás a adicionar (e a modificar) o mesmo objecto várias vezes.

E ai cara.

Isso acontece pois você está adicionando a mesma instância à lista.

Para adicionar vários objetos você precisa de várias instâncias:

List<Foo> listaFoo = new ArrayList<Foo>();

Foo foo1 =  new Foo();
foo1.setTitulo("Titulo 1");
foo1.setDescricao("Descrição 1");
listaFoo.add(foo1);

Foo foo2 =  new Foo();//nova instância
foo2.setTitulo("Titulo 2");
foo2.setDescricao("Descrição 2");
listaFoo.add(foo2);

Té mais

Legal galera!
Obrigado pela ajuda!!

Não é preciso ter duas variáveis diferentes, basta fazer o new.

Bem lembrado, só achei que ficaria mais fácil para diferenciar as duas instâncias :smiley:

Té mais.