Como criar objetos com nome dinâmico?

2 respostas
L

Olá.

Gostaria de saber se alguem pode me ajudar a resolver uma dúvida.
A dúvida está nesse contexto:

Tiro tiro = new Tiro();

A minha dúvida é quanto a este nome “tiro” que eu dei pro objeto, gostaria de saber se tem como eu fazer algo semelhante a isso:

Tiro "tiro"+cont = new Tiro();

Sei que desse jeito não funciona, pq ja tentei, resumidamente eu criaria vários objetos do tipo tiro, cada um com o um nome diferente; tiro1, tiro2, tiro3, etc, provavelmente dentro de um loop:

int cont = 0;
for (int i=0;i<10;i++){
Tiro "tiro"+cont = new Tiro();
cont += 1;
}

Agradeço desde já.

2 Respostas

E

Cara, o comum é criar objetos utilizando uma collection:

List<Tiro> lista = new ArrayList<Tiro>();
for (int i=0;i<10;i++){  
   Tiro tiro = new Tiro();  
   lista.add(tiro)
}

depois é só utilizar os objetos fazendo acesso a lista.

Obs.: Mesmo que fosse possível criar os objetos da forma que você queria, quando o loop terminasse todos os objetos estariam disponíveis para o coletor de lixo (GC) e você não teria a referência para eles, logo não teria como acessa-los.

L

Peguei o que vc kis dizer :).

Muito obrigado.

Criado 16 de agosto de 2008
Ultima resposta 17 de ago. de 2008
Respostas 2
Participantes 2