Boa tarde. Eu tenho uma variável que se chama evento1. Só que na hora de trabalhar com esta variável eu quero referenciá-la como eventoi+1 (sendo i=0). Como eu concateno esta informação na referência a esta variável?
Grato, Carlos.
[quote=cmendes]Boa tarde. Eu tenho uma variável que se chama evento1. Só que na hora de trabalhar com esta variável eu quero referenciá-la como eventoi+1 (sendo i=0). Como eu concateno esta informação na referência a esta variável?
Grato, Carlos.[/quote]
Tem como você colocar o código?
Que tipo de variável é int, String?
Seria isso:
evento1 = evento1 +(eventoi+1);
Não seria melhor criar um Array de “Evento”…?
É String.
Tipo assim:
private String evento1;
evento(i+1) = xxxx; // sendo i=0
Entendeu?
Use um array de Strings:
String[] eventos = new String[20]; // com 20 posições, por exemplo
Complementando, se a tua lista de referências precisar crescer, use uma das Implementações de List ex;:
List<String> eventos = new ArrayList<String>();
É o seguinte: eu tenho uma classe que modela um banco
private String evento1;
private String evento2;
…
private Strng evento5;
getters and setters
Aí eu tenho um for que faz a leitura das variáveis que vão carregar estes valores no banco, atreladas a um array
for (int i = 0; i < 5; i++) {
leitura[i] = str.substring(i, i + 1);
evento.setEvento1(leitura[i]);
}
Só que eu não queria fazer um setEvento para cada evento separadamente. Eu queria amarrar a carga dos valores dentro do for, carregando cada evento de acordo com o valor do i do for, entendeu? Tipo assim:
for (int i = 0; i < 5; i++) {
leitura[i] = str.substring(i, i + 1);
evento.setEventoi+1(leitura[i]);
}
Há alguma saída prá isto?
Só não entendi porque você não utilizou uma lista de eventos…
Tenta usar um Map, que associa um nome à uma variável. Dae você faz que (“evento1”, evento1), dae na hora do seu gambito, você procura pelo nome evento + i. Mas eu prefiro a solução em lista.
Em vez disso
private String[] eventos = new String [5+1]; // vou deixar o elemento [0] vazio de propósito, só para ficar fácil de entender
// aí o que você chamava de "evento1" vai ficar "evento[1]".
public void setEvento (int nEvento, String valor) {
... // acho que você sabe o que deve ser escrito aqui
}
public void getEvento (int nEvento) {
... // idem
}
Você economiza 8 métodos (4 getters + 4 setters). Além disso torna seu código MUITO mais legível e evita usar reflection (que é besteira em um caso desse tipo.)