public class foo
{
private String _name;
private String _bar;
public String getName() {
return _name;
}
public void setName(String name) {
_name = name;
}
public String getBar() {
return _bar;
}
public void setBarn(String bar) {
_bar = bar;
}
}
Если у меня есть вышеуказанный класс, могу ли я использовать отражение, чтобы перечислить свойства, определенные геттерами и сеттерами? Я попробовал метод ниже, но он не работает, Field[] fields
оставлено пустым. Я знаю, что могу сделать это в .Net, но Java - это совсем другое животное. Я вообще лаю не на том дереве?
private HashMap<String, String> getHashMap(Object obj) {
HashMap<String, String> map = new HashMap<String, String>();
Class<?> cls = obj.getClass();
Field fields[] = cls.getFields();
for(Field f : fields) {
String name = f.getName();
String value = f.get(obj).toString();
map.put(name, value);
}
return map;
}
Также сеттеры и геттеры могут быть злыми, я должен просто отбросить это?