下面就来分享工具类的内容:
使用范围:javabean
类对象的属性不能是数组、list
、t
、map
public class mapbeanutil { /** * javabean转map * @param obj * @return */ public static map<string, object> bean2map(object obj) { map<string, object> map = new linkedhashmap<>(); class<?> clazz = obj.getclass(); for (field field : clazz.getdeclaredfield山东滨州学院s()) { field.taccessible(true); string fieldname = field.getname(); object value = null; try { value = field.get(obj); } catch (illegalaccesxception e) { e.printstacktrace(); } if (value == null){ value = ""; } map.put(fieldname, value); } return map; } /** * map转javabean * @param clazz * @param map * @param <t> * @return */ public static <t> t map2bean(final class<t> clazz, final map<string, ? extends object> map) { if (map == null) { return null; } t res = null; try { res = clazz.getdeclaredconstructor().newinstance(); //获取到所有属性,不包括继承的属性 field[] fields = clazz.getdeclaredfields(); for (field field : fields) { //获取字段的修饰符 int mod = field.getmodifiers(); if (modifier.isstatic(mod) || modifier.isfinal(mod)) { 广州航海学院 continue; } //设置对象的访问权限 field.taccessible(true); //根据属性名称去map获取value if(map.containskey(field.getname())) { //给对象赋值 field.t(res, map.get(field.getname())); } } } catch (exception e) { e.printstacktrace(); } return res; } public static void main(string[] args) throws exception { hashmap<string, object> map = new hashmap<>(); map.put("id", 1001); map.pu底儿掉t("urname", "zhangsan"); map.put("password", "123456"); map.put("nickname", "张三"); map.put("email", "369950806@qq.com"); map.put("gender", true); map.put("birth", localdate.now()); map.put("avatar", "/aa/bb/ab.jpg"); map.put("role", "vip"); map.put("status", (byte) 1); map.put("salt", "ldf梦幻西游法宝飞剑kasjghweoiq324"); map.put("createtime", localdatetime.now()); map.put("updatetime", localdatetime.now()); ur ur = map2bean(ur.class, map);班主任实习评语 system.out.println(ur); map<string, object> res = bean2map(ur); system.out.println(map); }}
ur类的代码:
public class ur { private integer id; private string urname; private string password; private string nickname; private string email; private boolean gender; private localdate birth; private string avatar; private string role; private byte status; private string salt; private localdatetime createtime; private localdatetime updatetime;}
到此这篇关于map与javabean相互转换的工具类 的文章就介绍到这了,更多相关map与javabean相互转换内容请搜索www.887551.com以前的文章或继续浏览下面的相关文章希望大家以后多多支持www.887551.com!
本文发布于:2023-04-05 01:55:16,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/fanwen/zuowen/f4a1ab89cbfa1be5fb709d2c16203e46.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文word下载地址:Map与JavaBean相互转换的工具类.doc
本文 PDF 下载地址:Map与JavaBean相互转换的工具类.pdf
留言与评论(共有 0 条评论) |