Java Map和JavaBean(Model)互转
来源:互联网 发布:ai for mac 迅雷下载 编辑:程序博客网 时间:2024/05/29 16:30
平时经常通过其来进行表单提交参数。
/** * 使用reflect(反射)进行转换 * @param map * @param beanClass * @return * @throws Exception */ public static Object map2Bean(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();//返回此类或接口以整数编码的 Java 语言修饰符 if(Modifier.isStatic(mod) || Modifier.isFinal(mod)){ continue; } field.setAccessible(true);//打破封装 field.set(obj, map.get(field.getName()));//给obj对象的id属性赋值 } return obj; } /** * bean2Map 常用 * @param beanObj * @param <K> * @param <V> * @return */ public static <K, V> Map<K, V> bean2Map(Object beanObj) throws Exception { if(beanObj == null){ return null; } Map<K, V> map = new HashMap<>(); Field[] declaredFields = beanObj.getClass().getDeclaredFields(); //获取所有的属性 for (Field field : declaredFields) { field.setAccessible(true);//打破封装 map.put((K)field.getName(), (V)field.get(beanObj)); } return map; } /** * javaBean2Map 第二种方式 * @param javaBean * @param <K> * @param <V> * @return */ public static <K, V> Map<K, V> javaBean2Map(Object javaBean) { Map<K, V> ret = new HashMap<>(); try { Method[] methods = javaBean.getClass().getDeclaredMethods();//获取所有的属性 for (Method method : methods) { if (method.getName().startsWith("get")) { String field = method.getName(); field = field.substring(field.indexOf("get") + 3); field = field.toLowerCase().charAt(0) + field.substring(1); Object value = method.invoke(javaBean, (Object[]) null);//invoke(调用)就是调用Method类代表的方法。它可以让你实现动态调用 ret.put((K) field, (V) (null == value ? "" : value)); } } } catch (Exception e) { } return ret; }
0 0
- Java Map和JavaBean(Model)互转
- Map、Model和ModelMap
- map Javabean 互转
- javabean与map互转
- Map和javaBean相互转换
- json 和map javabean(pojo) list 互转 utils
- java.jse--基础--javabean转成Map
- 三、java-常用 javabean转map
- Java 用反射将JavaBean转成Map
- java 枚举和javaBean
- javabean和map互转简易版
- JavaBean 和 Map 之间互相转换
- JavaBean 和 Map 之间互相转换
- javabean和map相互转换工具类
- JavaBean和Map转换封装类
- JavaBean和Map转换封装类
- JavaBean和Map转换封装类
- 使用Java的内省和注解将JavaBean转换成Map
- POJ 2528 Mayor's posters(线段树区间离散化入门)
- 安卓app开发项目管理必备工具(干货!)
- Java用freemarker导出word
- Android平台程序崩溃的类型及原因列举
- 基于hibernate实现的分页技术
- Java Map和JavaBean(Model)互转
- Win8上搭建IIS8+PHP+MySQL+phpMyAdmin
- linux-积累
- xcode构建iOS app时为什么分version和build两个版本号
- Java读取文件MD5的两种方案
- WampServer搭建本地WordPress网站
- uva 11400 Lighting System Design
- Ubuntu16.04的Python virtualenv问题
- list的removeAll底层算法,性能,优化