У меня есть объект, который имеет поле String. Я могу получить это поле по телефону:Как получить значение поля String из отражения Java?
Field field = someObj.getClass().getField("strField");
Я ПГТ метод Field#set(Object)
, для установки значения поля этого экземпляра, но соответствующий добытчик, кажется Field#get(Object)
, что это странно, потому что я бы ожидал, что это будет Field#get()
.
Как получить значение экземпляра strField
?
О, он, вероятно, говорит о 'java.lang.reflect.Field'. Хороший улов! – acdcjunior
Вопрос @acdcjunior был помечен тегом 'reflection', поэтому' java.lang.reflect' - это первое, что приходит в голову (по крайней мере для меня: D). Какова была твоя другая догадка? – Pshemo
@Pshemo Да, у меня раздался мозг. Я думал, что «Поле» - это класс 'someObj', а сеттеры для' Field.strField' - 'Field.set (Object)' и 'Field.get (Object)'. Его запись 'Field # set (Object)' (а не 'set (Obj, Obj)') сделало меня совершенно неверным. – acdcjunior