Абстрактное получение содержимого св-в объекта им самим

 
 
 
Сообщения:13
Пытаюсь сделать так, чтоб любой объект мог в отдельном методе собрать все свои св-ва и их значения в хешмап. И сделать это в виде универсального наследуемого метода, который работал бы для объектов любых классов с любым кол-вом св-в.
Благодаря гуглу составил следующий код:

    public HashMap<String, Object> getMapOfParams() {
        HashMap<String, Object> params = new HashMap<>();
        for (Field field: this.getClass().getDeclaredFields()) {
            field.setAccessible(true);
            try {
                params.put(field.getName(), field.get(this));
            } catch (IllegalAccessException ex) {
                //.....
            }
        }
        return params;
    }


Он делает то что нужно, однако имхо не совсем верно. Сам метод вызывается от конкретного объекта, а значит имеет возможность обращения к его полям без setAccessible(true).
Есть ли какой-то более кошерный способ обойти все св-ва объекта изнутри, получить их имена и значения?
 
Модераторы:Нет
Сейчас эту тему просматривают:Нет