Setando valor de variavel private usando reflection

3 respostas
P

Boa tarde, estou tentando setar o valor de uma variavel privada via reflection, eu consigo pegar uma rederencia dela através do getDeclaredFields() porem na hora de setar o valor a app lança uma illegalaccessException.

É possível manipular variaveis privadas via reflection ? o hibernate e o Guice da google fazem isso não fazem ? como é possível ?

Obs: Eu não posso usar métodos getters e setters para manipular a variavel. Gostaria de injetar direto no field mesmo.

Obrigado

3 Respostas

ssousuke

Existe um metodo na classe Field (herdado) que chama setAccessible(boolean)…

Falow

ViniGodoy

Exatamente, em membros onde você não tem acesso:

suaVariavelRefletida.setAcessible(true);
P

Valeu moçada.

Criado 14 de abril de 2007
Ultima resposta 16 de abr. de 2007
Respostas 3
Participantes 3