java实体对象与Map之间的转换工具类代码实例
这篇文章主要介绍了java实体对象与Map之间的转换工具类代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
Map接口中键和值一一映射.可以通过键来获取值。
- 给定一个键和一个值,你可以将该值存储在一个Map对象.之后,你可以通过键来访问对应的值。
- 当访问的值不存在的时候,方法就会抛出一个NoSuchElementException异常.
- 当对象的类型和Map里元素类型不兼容的时候,就会抛出一个ClassCastException异常。
- 当在不允许使用Null对象的Map中使用Null对象,会抛出一个NullPointerException异常。
- 当尝试修改一个只读的Map时,会抛出一个UnsupportedOperationException异常。
代码如下
importjava.lang.reflect.Field; importjava.util.HashMap; importjava.util.Map; publicclassEntityUtils{ /** *实体类转Map *@paramobject *@return */ publicstaticMapentityToMap(Objectobject){ Map map=newHashMap(); for(Fieldfield:object.getClass().getDeclaredFields()){ try{ booleanflag=field.isAccessible(); field.setAccessible(true); Objecto=field.get(object); map.put(field.getName(),o); field.setAccessible(flag); }catch(Exceptione){ e.printStackTrace(); } } returnmap; } /** *Map转实体类 *@parammap需要初始化的数据,key字段必须与实体类的成员名字一样,否则赋值为空 *@paramentity需要转化成的实体类 *@return */ publicstatic TmapToEntity(Map map,Class entity){ Tt=null; try{ t=entity.newInstance(); for(Fieldfield:entity.getDeclaredFields()){ if(map.containsKey(field.getName())){ booleanflag=field.isAccessible(); field.setAccessible(true); Objectobject=map.get(field.getName()); if(object!=null&&field.getType().isAssignableFrom(object.getClass())){ field.set(t,object); } field.setAccessible(flag); } } returnt; }catch(InstantiationExceptione){ //TODOAuto-generatedcatchblock e.printStackTrace(); }catch(IllegalAccessExceptione){ //TODOAuto-generatedcatchblock e.printStackTrace(); } returnt; } }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。