Declarar variavel como conteudo de outra

5 respostas
passos

Que nome tosco para o topico :stuck_out_tongue:

Seguinte. Existe alguma maneira de declarar uma variavel utilizando o conteudo de outra

Exemplo:

int x = 1;
int abc(conteudo de x) = 259;

5 Respostas

T

Não estou entendendo.
Você quer declarar uma variável cujo nome é “abc1”?
Ou então você quer ter um array (ou lista, ou map etc.) que seja preenchido com o valor 259 na posição 1?

passos

Queria declarar uma variavel com o nome de abc1 mas sem saber o que vai vir no lugar do 1

T

Bom, Java não é uma linguagem de macros (e nessas linguagens normalmente a gente também não declara variáveis :wink: ) ; é que esse tipo de construção parece com as de linguagens de macros.
Na verdade era melhor explicar seu problema, para entender o que você precisa.
Se você quer algo como no Javascript:

var abc = new Array() // note que não sei o tamanho do array - na verdade isso não interessa, porque Arrays em Javascript equivalem aos Maps do Java
abc[1] = 259 // pus 259 na posição 1 do array
...
alert (abc[1])

você deve fazer o equivalente em Java:

import java.util.*;
...
Map abc = new HashMap();
abc.put (new Integer(1), new Integer (259));
...
System.out.println (abc.get (new Integer(1));
passos

Bom… nao sei se vai funcionar mas vou dar uma testada nessa linha de raciocinio…

Vou explicar o problema.

Estou importando um arquivo testo MUITO tosco com um layout horrivel em determinado momento tenho algo como Venda e Itens

Eu construo 1 venda e sempre que eu acho um item eu construo este e adiciono o item a venda. Porem estou utilizando a mesma referencia de variavel por tanto sempre que eu construo um novo item apontando pra mesma referencia sempre vou ter apenas 1 item apenas.

Sera que eu compliquei?

Venda v = new Venda();
VendaItem i = new VendaItem();

if( codigo == 5 ) {
	v = new Venda();
	v = (Venda) p.setVariaveis( codigo, v, linha );
}

if( codigo == 6 ) {
	i = new VendaItem();
	i = (VendaItem) p.setVariaveis( codigo, i, linha );
	v.getItens().add(i);
}
passos

Esquece o que eu disse… eheehe funcionou perfeitamente!

Valeuz!

Criado 24 de agosto de 2005
Ultima resposta 24 de ago. de 2005
Respostas 5
Participantes 2