вывести список списков открытых полей, объявленных в классе, без полей, унаследованных от родительских классов - PullRequest
1 голос
/ 14 июня 2019

Мне нужно реализовать метод getPublicFields для перечисления имен открытых полей, объявленных в классе, к которому принадлежит объект. Поля, унаследованные от родительских классов, должны быть опущены. Имена полей должны быть отсортированы в лексическом порядке.

Что я делаю не так?

/**
 Get sorted list of public fields the object declares (inherited fields should be skipped).
 */
class FieldGetter {

    public String[] getPublicFields(Object object) {

    Field[] fieldsObject = object.getClass().getDeclaredFields();
    ArrayList<String> fieldsString = new ArrayList<>();
    for (Field fields : fieldsObject) {
        if (Modifier.isPublic(fields.getModifiers())){
            fieldsString.add(fields.toString());
        }
    }
    String[]result = fieldsString.toArray(new String[fieldsString.size()]);
    Arrays.sort(result);
    return result;


 }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...