介绍
本篇文章给大家分享的是有关java项目中映射与对象如何实现相互转换,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。
<强> java映射转对象与对象转地图强>
<强> 1,定义一个实体类:强>
包反映; 公开课用户{ 私人字符串名称; 私人int年龄; 公共字符串getName () { 返回名称; } 公共空间setName(字符串名称){ this.name=名称; } 公共int getAge () { 返回年龄; } 公共空间setAge (int年龄){ 这一点。年龄=年龄; } }
<强> 2,地图转对象转换如下:
强>
包反映; 进口java.beans.BeanInfo; 进口java.beans.Introspector; 进口java.beans.PropertyDescriptor; 进口java.lang.reflect.Method; 进口java.util.HashMap; 进口java.util.Map; 公开课testMapToObject { 公共静态void main (String [] args) {//假设有一个地图存放了一个对象的姓名和年龄 object> Map<字符串;地图=new HashMap<字符串,object> (); map.put (“name",“Kobi"); map.put (“age", 39岁); 用户用户=transferMapToUser(地图,User.class); System.out.println (user.getName ()); System.out.println (user.getAge ()); } 公共静态& lt; t>T transferMapToUser (Map<字符串,object>地图,ClassclassT) { 尝试{ 返回转移(地图,classT.newInstance ()); }捕捉(InstantiationException ex) { System.out.println (“fuck& # 63;“); }捕捉(IllegalAccessException ex) { System.out.println (“fuck& # 63;“); } 返回null; } 公共静态& lt; t>T转移(Map<字符串,object>地图,对象obj) { 尝试{ BeanInfo BeanInfo=Introspector.getBeanInfo (obj.getClass ()); PropertyDescriptor [] propertyDescriptors=beanInfo.getPropertyDescriptors (); (PropertyDescriptor属性:propertyDescriptors) { 字符串键=property.getName (); 如果(map.containsKey(关键)){ 对象价值=https://www.yisu.com/zixun/map.get(关键);//得到属性对应的setter方法 setter方法=property.getWriteMethod (); 尝试{ setter。调用(obj,价值); }捕捉(IllegalArgumentException ex) { system . out。println(“什么他妈的# 63;”); } } } }捕捉(例外的前女友){ system . out。println(“什么他妈的# 63;”); } 返回(T) obj; } }
运行结果:
运行: 科比· 39 成功构建(总时间:0秒)
<强> 3,对象转地图:强>
包反映; 进口java.beans.BeanInfo; 进口java.beans.Introspector; 进口java.beans.PropertyDescriptor; 进口java.lang.reflect.Method; 进口java.util.Map; 进口java.util.TreeMap; 公开课testObjectToMap { 公共静态void main (String [] args) { 用户用户=新用户(); user.setName (“Kobi"); user.setAge (39); Map<字符串、对象=?“在地图=transBean2Map(用户); System.out.println(地图); } 公共静态Map<字符串、对象=?“在transBean2Map(对象obj) { 如果(obj==null) { 返回null; } TreeMap<字符串、对象=?“在地图=new TreeMap<在(); 尝试{ BeanInfo BeanInfo=Introspector.getBeanInfo (obj.getClass ()); PropertyDescriptor [] propertyDescriptors=beanInfo.getPropertyDescriptors (); (PropertyDescriptor属性:propertyDescriptors) { 字符串键=property.getName ();//过滤类属性 如果(key.equals (“class")) { 继续; }//得到属性对应的getter方法 getter方法=property.getReadMethod (); 对象价值=https://www.yisu.com/zixun/getter.invoke (obj); 地图。put(关键字,值); } }捕捉(异常e) { system . out。println (“transBean2Map错误”+ e); } 返回地图; } }
运行结果:,
运行: {=39岁name=科比·} 成功构建(总时间:0秒)
以上就是java项目中映射与对象如何实现相互转换,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注行业资讯频道。