Valor de uma String como nome de outra variável

É possível utilizar o valor de uma variável como nome de outra variável?
Gostaria que:

> String x = "1";
> String cliente = "c" + x;
> Cliente cliente = new Cliente();//o nome da variável deveria ser c1

Gostaria de usar a mesma classe para criar diversos clientes, variando apenas o valor de “x” dentro de um while.
Obrigado

Tentei achar um motivo pra aqui pra tal gambeta mas não achei.
"//o nome da variável deveria ser c1" não, não deveria porque nem compila.
Usa a mesma variável com uma nova instância a cada iteração, simples.

1 curtida

Desculpe, mas ainda sou novato em Java. Poderia explicar melhor como usar em uma nova instância?

Renato acho que você não soube se expressar bem, confesso que não ficou claro sua dúvida.

mas enfim, vou te responder o que me parece ser o problema.

public static void main(final String[] args){

     //Varaiavel qualquer..
     String clienteConta = null;

     //Instanciando um cliente com nome: Fulano e conta: 000303-03
     Cliente cliente = new Cliente("Fulano", "000303-03");

     //Variavel criada no inicio do main, recebendo a junção de nome com conta.
     clienteConta = cliente.getNome() + " / " + cliente.getConta();
}

public class Cliente {
   
  private String conta;  // Criar get/set
  private String nome; // Criar get/set



  //Construtor default
  Cliente(){

  }
  //Construtor com argumentos
  //Aqui você consegue instânciar uma classe cliente com os parâmetros que você passar
  //nome e conta, podendo recupera-los com get/set em cada respectivo atributo.
  Cliente(final String nome, final String conta){
       this.nome = nome;
       this.conta = conta;
  }

}

Olá Renato,

Não é possível criar nomes de variáveis a partir de Strings. Isso porque nomes de variáveis são criadas em tempo de compilação, enquanto que objetos String são criados já em tempo de execução. No entanto, a ferramenta para resolver o seu problema existe, e chama-se array. Através de um array você pode armazenar vários objetos sob o mesmo nome de variável, e utilizar um índice para acessar cada objeto individualmente, veja:

Cliente [] clientes = new Clientes[10]; //cria um array para armazenar 10 clientes

//cria 10 clientes
for(int i = 0 ; i < clientes.length ; i++){
    clientes[i] = new Cliente();
}

//exibe o nome de todos os clientes
for(int i = 0 ; i < clientes.length ; i++){
    System.out.println(clientes[i].getNome());
}

Espero que tenha ficado claro. Abs.

1 curtida

Obrigado a todos. Estudei o conceito de array e vejo que me atende.
Valeu!