反射によるmapとjava beanの変換ツールクラスの実現
828 ワード
public static Map bean2Map(Object obj) {
Map map = new HashMap<>();
try {
Class c = obj.getClass();
Field[] fields = c.getDeclaredFields();
for(Field f : fields) {
f.setAccessible(true);
String name = f.getName();
String value = String.valueOf(f.get(obj));
map.put(name, value);
}
} catch (Exception e) {
return null;
}
return map;
}
ここではmapをbeanに変換するツール類を示しますが、beanをMapに変換するのは実は差が少なく、一緒に出さないのです
コアは2つです.
一、javabeanの修飾子にpublic/private/protectedなどがある可能性があることを考慮して、getDeclaredxxxシリーズを直接使う方法はすべての
二、必ずsetAccessibleメソッドをtrueにして権限を取得する
他には何もありません.