import java.beans.BeanInfo; import java.beans.Introspector; import java.beans.PropertyDescriptor; import java.lang.reflect.Method; import java.util.ArrayList; import java.util.List; import java.util.Map; /** * Created by 飞尘 on 2017/4/7. */ public class BeanUtil { /** * 将 Map对象转化为JavaBean * <一句话功能简述> * <功能详细描述> * @param map * @param T * @return * @throws Exception * @see [类、类#方法、类#成员] */ public static <T> T convertMapBean(Map<String,Object> map, Class<T> T){ try { T bean = (T)T.newInstance(); BeanInfo beanInfo = Introspector.getBeanInfo(T); PropertyDescriptor[] propertyDescriptors = beanInfo.getPropertyDescriptors(); for (PropertyDescriptor property : propertyDescriptors) { String key = property.getName(); if (map.containsKey(key)) { Object value = map.get(key); // 得到property对应的setter方法 Method setter = property.getWriteMethod(); setter.invoke(bean, value); } } return bean; } catch (Exception e) { e.printStackTrace(); } return null; } /** * 将 List<Map>对象转化为List<JavaBean> * <一句话功能简述> * <功能详细描述> * @param listMap * @param T * @return * @throws Exception * @see [类、类#方法、类#成员] */ public static <T> List<T> convertListMapListBean(List<Map<String, Object>> listMap, Class<T> T){ List<T> beanList = new ArrayList<T>(); if (listMap != null && !listMap.isEmpty()){ for (int i = 0, n = listMap.size(); i < n; i++){ Map<String, Object> map = listMap.get(i); T bean = convertMapBean(map, T); beanList.add(bean); } return beanList; } else { return null; } } }
Map到Bean的转换 javaUtil类
最新推荐文章于 2021-11-29 15:36:40 发布