import java.lang.reflect.Field;
import java.lang.reflect.Modifier;
import java.util.HashMap;
import java.util.Map;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class ObjUtil {
private static final Logger logger = LoggerFactory.getLogger(ObjUtil.class);
public static Map<String,String> obj2Map(Object obj){
Map<String,String> map =new HashMap<String, String>();
Field[] fields = obj.getClass().getDeclaredFields();
for(int i = 0;i < fields.length;i++){
String varName = fields[i].getName();
try{
boolean accessFlag = fields[i].isAccessible();
fields[i].setAccessible(true);
Object o = fields[i].get(obj);
if(o != null){
map.put(varName, o.toString());
}
fields[i].setAccessible(accessFlag);
}catch(IllegalArgumentException ex){
logger.error("obj2Map err!", ex);
}catch(IllegalAccessException ex){
logger.error("obj2Map err!",ex);
}
}
return map;
}
public static Object map2Obj(Map<String,String> map, Class<?> beanClass){
if(map == null || map.isEmpty()){
return null;
}
Object obj = null;
try{
obj = beanClass.newInstance();
Field[] fields = obj.getClass().getDeclaredFields();
for(Field field : fields){
int mod = field.getModifiers();
if(Modifier.isStatic(mod) || Modifier.isFinal(mod)){
continue;
}
field.setAccessible(true);
field.set(obj, map.get(field.getName()));
}
}catch(Exception e){
logger.error("map2Obj err!", e);
}
return obj;
}
}
java 对象转map
猜你喜欢
转载自blog.csdn.net/qq_31443653/article/details/80408160
今日推荐
周排行