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){
Mapmap=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
*/
publicstaticTmapToEntity(Mapmap,Classentity){
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(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。