欢迎来到天天文库
浏览记录
ID:8975753
大小:17.56 KB
页数:4页
时间:2018-04-13
《javamap转换为bean或vo》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、JAVAMap转换为Bean或VOJava.util中的集合类包含Java中某些最常用的类。Map提供了一个更通用的元素存储方法。 Map集合类用于存储元素对(称作“键”和“值”),其中每个键映射到一个值,在java编程中使用的相当之多。但是当我们进行业务逻辑或数据库处理时,往往应用的是自己框架独有的Bean或VO来存储数据,这就需要我们应用一个公共方法来将map中存储的数据转换为相对应的Bean或VO,主要用到技术就是java的反射机制。具体代码如下://该方法主要传入的参数有两个,第一个是Map接口,第二个就是要绑定的VO。publi
2、cstaticvoidmapBind(Mapmap,PmsBaseVOpmsVo)throwsException{ //获得传入vo的Class方法 ClassnewClass=pmsVo.getClass(); //得到vo中所有的成员变量 Field[]fs=newClass.getDeclaredFields(); //方法变量 StringmethodName=null; //map的value值 ObjectmapValue=null; //参数类型
3、 StringparameterType=null; //查找方法时需要传入的参数 Class[]parameterTypes=newClass[1]; //执行invoke方法时需要传入的参数 Object[]args=newObject[1]; //取得Map的迭代器 Iteratorit=map.keySet().iterator(); while(it.hasNext()){ //取出map的key值 Str
4、ingkey=(String)it.next(); if(key!=null){ for(inti=0;i5、{ //得到vo中成员变量的类型 parameterTypes[0]=fs[i].getType(); parameterType=parameterTypes[0].toString(); //找到vo中的方法 Methodmethod=newClass.getDeclaredMethod(methodName,parameterTypes); 6、 mapValue=map.get(key); //下面代码都是参数类型是什么,如果有需求可以自行增加 //当set方法中的参数为int或者Integer if(parameterTypes[0]==Integer.class7、8、parameterTypes[0]==int.class){ if(mapValueinstanceofInteger){ args[0]=mapValue; 9、 }else{ args[0]=Integer.parseInt((String)mapValue); } //当set方法中的参数为Date }elseif(parameterTypes[0]==Date.class){ if(mapValueinstanceofDate){ args10、[0]=mapValue; }else{ SimpleDateFormatsdf=newSimpleDateFormat(
5、{ //得到vo中成员变量的类型 parameterTypes[0]=fs[i].getType(); parameterType=parameterTypes[0].toString(); //找到vo中的方法 Methodmethod=newClass.getDeclaredMethod(methodName,parameterTypes);
6、 mapValue=map.get(key); //下面代码都是参数类型是什么,如果有需求可以自行增加 //当set方法中的参数为int或者Integer if(parameterTypes[0]==Integer.class
7、
8、parameterTypes[0]==int.class){ if(mapValueinstanceofInteger){ args[0]=mapValue;
9、 }else{ args[0]=Integer.parseInt((String)mapValue); } //当set方法中的参数为Date }elseif(parameterTypes[0]==Date.class){ if(mapValueinstanceofDate){ args
10、[0]=mapValue; }else{ SimpleDateFormatsdf=newSimpleDateFormat(
此文档下载收益归作者所有