栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Map与JavaBean相互转换工具类

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Map与JavaBean相互转换工具类

  • Map转JavaBean

  • @param clazz

  • @param map

  • @param

  • @return

*/

public static T map2Bean(final Class clazz, final Map 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.setAccessible(true);

//根据属性名称去map 《一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义》无偿开源 威信搜索公众号【编程进阶路】 获取value

if(map.containsKey(field.getName())) {

//给对象赋值

field.set(res, map.get(field.getName()));

}

}

} catch (Exception e) {

e.printStackTrace();

}

return res;

}

public static void main(String[] args) throws Exception {

HashMap map = new HashMap<>();

map.put(“id”, 1001);

map.put(“username”, “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”, “ldfkasjghweoiq324”);

map.put(“createTime”, LocalDateTime.now());

map.put(“updateTime”, LocalDateTime.now());

User user = map2Bean(User.class, map);

System.out.println(user);

Map res = bean2Map(user);

System.out.println(map);

}

}

User类的代码:

public class User {

private Integer id;

private String username;

private String password;

private String nickname;

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/872668.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号