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 ?
Porque você quer “matar” a OO??? ehehheh
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…
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.
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.
[size=15][color=darkred] Como eu teria que fazer se eu quisesse imprimir os atributos de Aluno?!?!!?!
cod, nome, nota1, nota2a…[/color][/size]
[code]public class Aluno{
public int cod;
public String nome;
public int nota1;
public int nota2
[…]
}[/code]