Вы можете найти поле, используя clazz.getDeclaredFields()
, который возвращает Field[]
, или напрямую получая поле по имени с clazz.getDeclaredField("myFieldName")
. Это может вызвать NoSuchFieldException
.
После того, как вы это сделаете, вы можете получить значение поля с помощью field.get(null)
, если поле представляет объект, или с помощью field.getInt(null)
, field.getDouble(null)
, et c. если это примитив. Чтобы проверить тип поля, используйте getType
или getGenericType
. Они могут выдать IllegalAccessException
, если они не публикуются c, и в этом случае вы можете сначала использовать field.setAccessible(true)
. Вы также можете установить поля таким же образом, если просто замените «get» на «set».