Variavel de Variavel

4 respostas
Maniezo

Surgiu uma dúvida que aparentemente é simples, em outras linguagens como por exemplo PHP ja peguei uma variavel pelo valor de outra, agora no JAVA pesquisei bastante e não encontrei como simular essa situação, é possivel fazer algo parecido em JAVA como trecho abaixo em PHP:

varTeste = "valor";
varTesteStr = "varTeste";

echo $$varTesteStr; //Saída seira "valor"...

Grato

4 Respostas

nbluis

Cara, eu não sei que diabos de lógica o php tem pra fazer isso…

Mas certamente não conheço nada assim em Java.

pcalcado

Não possível mas não imagino muitos lugares onde isso seja preciso numa paltaforma Orientada a Objetos. Tente umar um HashMap.

D

Dependendo da situação, isto pode ser feito também através da api “Reflection”.

peczenyj

Sendo a variavel, nesse caso, um atributo da classe, reflection deveria bastar.

Uma linguagem interpretada pela JVM como Groovy também poderia fazer isso com uma sintaxe mais simples, até.

http://groovy.codehaus.org/JN3535-Reflection

class A{
  public value1
  protected value2
  A( int v ){ value1= v; value2 = v }
}
def a= new A( 100 )
assert A.getField( 'value1' ).get( a ) == 100 //public fields only

try{ A.getField( 'value2' ).get( a ); assert false }
catch(Exception e){ assert e instanceof NoSuchFieldException }

A.getField( 'value1' ).set( a, 350 )
assert a.value1 == 350
Criado 9 de outubro de 2007
Ultima resposta 9 de out. de 2007
Respostas 4
Participantes 5