Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: Общие вопросы > Reflection read private fied value


Автор: Larrr 5.8.2007, 15:46
Привет.
Такой вопрос - есть объект, у него есть private field, которое инициированно каким-то значениемю. Я хочу это значение прочитать как String.

Что я делаю:

Код


                    
                    String val = "myfield";
                    field = co.getClass().getDeclaredField(val);
                    String    value = field.get (co).toString();




И получаю Exception: java.lang.IllegalAccessException: Class balbalba can not access a member of class balbabla2 with modifiers "private". Исправление на 

Код


                    
                    String val = "myfield";
                    field = co.getClass().getField(val);
                    String    value = field.get (co).toString();




погоды не делает.

Что делать?

Автор: Larrr 5.8.2007, 16:04
Код

field.setAccessible(true);



 smile 

Автор: Tony 5.8.2007, 17:07
Для таких вещей используй Jakarta BeanUtils  smile 

Автор: batigoal 6.8.2007, 09:45
Уххх, я бы четыре раза подумал, прежде чем такие вещи делать.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)