zl程序教程

您现在的位置是:首页 >  后端

当前栏目

java实现map和object互转的三种方法详解编程语言

JAVAMap方法编程语言 实现 详解 三种 object
2023-06-13 09:20:28 时间
public static Object mapToObject(Map String, Object map, Class ? beanClass) throws Exception { if (map == null) return null; Object obj = beanClass.newInstance(); org.apache.commons.beanutils.BeanUtils.populate(obj, map); return obj; public static Map ?, ? objectToMap(Object obj) { if(obj == null) return null; return new org.apache.commons.beanutils.BeanMap(obj); * 使用Introspector进行转换 class B { public static Object mapToObject(Map String, Object map, Class ? beanClass) throws Exception { if (map == null) return null; Object obj = beanClass.newInstance(); BeanInfo beanInfo = Introspector.getBeanInfo(obj.getClass()); PropertyDescriptor[] propertyDescriptors = beanInfo.getPropertyDescriptors(); for (PropertyDescriptor property : propertyDescriptors) { Method setter = property.getWriteMethod(); if (setter != null) { setter.invoke(obj, map.get(property.getName())); return obj; public static Map String, Object objectToMap(Object obj) throws Exception { if(obj == null) return null; Map String, Object map = new HashMap String, Object BeanInfo beanInfo = Introspector.getBeanInfo(obj.getClass()); PropertyDescriptor[] propertyDescriptors = beanInfo.getPropertyDescriptors(); for (PropertyDescriptor property : propertyDescriptors) { String key = property.getName(); if (key.compareToIgnoreCase("class") == 0) { continue; Method getter = property.getReadMethod(); Object value = getter!=null ? getter.invoke(obj) : null; map.put(key, value); return map; * 使用reflect进行转换 class C { public static Object mapToObject(Map String, Object map, Class ? beanClass) throws Exception { if (map == null) return null; Object 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())); return obj; public static Map String, Object objectToMap(Object obj) throws Exception { if(obj == null){ return null; Map String, Object map = new HashMap String, Object Field[] declaredFields = obj.getClass().getDeclaredFields(); for (Field field : declaredFields) { field.setAccessible(true); map.put(field.getName(), field.get(obj)); return map; }

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/10218.html

cjava