Passar List<Objeto>

6 respostas
R

E ai rapazeada…bom estou com algumas duvida com relação a coleções, por exemplo eu tenho um uma classe Aluno
e quero fazer uma coleção de alunos ai eu faço assim.

List al = new ArraList();

// Só que assim eu quero saber como fazer para add sem ter que criar um a um objeto aluno sem ser
// Aluno alunos1 = new Aluno(); Aluno alunos2 = new Aluno(); como se fosse um for e repetindo varias vezes
// tipo assim

for(int i = 0; i < 5; i++){

Aluno alunos = new Aluno();

al.add(alunos);

}

isso é possivel ou vai criar o mesmo objeto sempre ou sera objetos diferentes ?

6 Respostas

L

is possible :lol: ;

Danillo_Moreno

Porque você quer “matar” a OO??? ehehheh

R

Absolutamente, não quero matar a OO na verdade quero saber se existe um forma melhor o se a que eu fiz é a certa . Se podem dar algum exemplo de retonar um ArrayList estando em outra class e percorela…

washington.ab

Não há problemas em usar a mesma variável de referência para popular sua coleção.

No momento que é dado um new() é criado um novo objeto na memória, com novos valores default para os seus atributos.
A varivável de referência é apenas uma maneira de acessar o objeto.
Toda vez que você dá um new() e atribui a variável, a referência para o objeto anterior é perdida, tornando acessível apenas o novo objeto.

Dessa forma sua lista não será preenchida com os mesmos objetos.

wagnerfrancisco

O que você fez deve funcionar. Aliás, se você não vai adicionar informação nenhuma no aluno poderia fazer assim:

List<Aluno> alunos = new ArrayList<Aluno>();

for ( int i = 0; i < qtdeAlunos; ++i ) {
  alunos.add(new Aluno());
}

Você não vai estar referenciado o mesmo objeto, não se preocupe…

Abraço.

Sara_Mick

[size=15][color=darkred] Como eu teria que fazer se eu quisesse imprimir os atributos de Aluno?!?!!?!
cod, nome, nota1, nota2a...[/color][/size]

public class Aluno{

public int cod;
public String nome;
public int nota1;
public int nota2

[...]

}
Criado 25 de abril de 2009
Ultima resposta 28 de nov. de 2010
Respostas 6
Participantes 6