Atribuição de valores a variáveis

4 respostas
S

Pessoal,

Em visual basic, tem uma forma que permite acessar o valor de variaveis utilizando um array de nomes de variaveis.
Tem alguma forma de se fazer isso no Java? Vejam abaixo:

private String nome;

private String sobrenome;

private String idade;

private String[] fields={“nome”,“sobrenome”,“idade”};

//Gostaria de atribuir o valor das variáveis utilizando fields tipo assim:

for (int i=0;fields.length-1,i++)

{

this(fields[i]) = “”;

}
//Ao invés do tradicional que seria assim:

this.nome = “”;

this.sobrenome="";

this.idade = “”;

4 Respostas

vinicius.martinez

Velhinho,

Conselho: pelo jeito voce é um cara de Visual Basic (Client Server) e agora está indo pro mundo java …certo ?

Bom, um dos grandes problemas que eu vejo no pessoal que migra pra essa plataforma e ainda mais vindo de linguagens não Orientada a Objetos é tentar aprender uma linguagem, fazendo exatamente as mesmas coisas como fazia na linguagem anterior…o que eu não acho naaaada legal por uma série de fatores:

1 - Voce não aprende mais de 1 linguagem: só porta seu código em outra tecnologia;

2 - não aprende novos paradigmas (no caso Orientação a Objetos);

3 - sua habilidade em pensar em um problema e resolver, fica “bitolado” em um mindset antigo…ou seja…voce não aprende a pensar diferente;

Sendo assi, acho que voce deve começar a aprender uma linguagem como alguém aprendendo as coisas mais básicas…sem vícios, etc etc etc…

Agora com relação a sua pergunta:

Sim…tem sim…mas vai ter que utilizar “reflection” ou alguma framework/api que encapsule essas features.

Qualquer coisa posta ae…

Abs

M

Bem vindo ao fórum!

Isso me cheira um pouco a POG…

Porque você quer fazer isso? Não consigo ver vantagens. Além do mais, como saber qual o tipo dos campos (como saber que ‘nome’ armazena uma String e não um objeto do tipo Nome por exemplo)?

Respondendo à sua pergunta: sim há como fazer (seja usando um Map ou seja via reflection) mas eu acho que não é uma boa ideia.

F

Opa,

Ter como fazer tem, mas você estará ferindo completamente os principios de orientação a objetos. E isso certamente lhe trará muitos problemas no futuro dentro de sua aplicação java.

É muito melhor você fazer pelo jeito convencional e recomendado.

Abraço.

S

Valeu gente. Já deu para ver que sou iniciante. Mas vou aprendendo, inclusive com a ajuda deste forum que para mim é dos melhores.

Abraço

Criado 2 de março de 2010
Ultima resposta 3 de mar. de 2010
Respostas 4
Participantes 4