Java Obj轉成Map
阿新 • • 發佈:2022-04-05
【ObjToMap And MapToObj】利用BeanUtils工具類實現!
import commons.beanutils.BeanUtils; //map2obj public static Object mapToObject(Map<String, Object> map, Class<?> beanClass) throws Exception { if (map == null) return null; Object obj = beanClass.newInstance(); BeanUtils.populate(obj, map); return obj; } //obj2map public static Map<?, ?> objectToMap(Object obj) { if (obj == null) { return null; } BeanUtils.BeanMap(obj); }
【ObjToMap And MapToObj】利用Java reflect反射機制實現!
public Map<String,Object> ObjToMap(Object obj) throws Exception{ Map<String,Object> map=new HashMap<String, Object>(); Field[] fields = obj.getClass().getDeclaredFields(); for(Field field:fields){ field.setAccessible(true); map.put(field.getName(), field.get(obj)); } return map; } public Object mapToObj(Map<String,Object> map,Class<?> clz) throws Exception{ Object obj = clz.newInstance(); Field[] declaredFields = obj.getClass().getDeclaredFields(); for(Field field:declaredFields){ int mod = field.getModifiers(); if(Modifier.isStatic(mod) || Modifier.isFinal(mod)){ continue; } field.setAccessible(true); field.set(obj, map.get(field.getName())); } return obj; }