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