列出在类中声明的公共字段列表的名称,而没有从父类继承的字段

时间:2019-06-14 12:35:10

标签: java reflection

我需要实现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;


 }
}

0 个答案:

没有答案