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(inti=0; i < 5; i++){Alunoalunos=newAluno();al.add(alunos);
}
isso é possivel ou vai criar o mesmo objeto sempre ou sera objetos diferentes ?
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=newArrayList<Aluno>();for(inti=0; i < qtdeAlunos; ++i ) {alunos.add(newAluno());
}
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
[...]
}