Map对象通过反射转化为JavaBean对象转化
来源:互联网 发布:北约 知乎 编辑:程序博客网 时间:2024/05/24 02:48
<span style="font-size:12px;">public static Object convertMap(Class type, Map map){Object object = null;try {object = type.newInstance();} catch (InstantiationException e1) {// TODO Auto-generated catch blocke1.printStackTrace();} catch (IllegalAccessException e1) {// TODO Auto-generated catch blocke1.printStackTrace();}//获得对象的所有属性 Field[] fields=type.getDeclaredFields();for(int i=0;i<fields.length;i++){String key = fields[i].getName();String key1 = fields[i].getName();if(key1.equals("zjlx")&& type.equals(CbfVo.class)) {key1 = "cbf"+key1;} if(key1.equals("xb")){key1 = "cyxb";}if(key1.equals("jtgx")){key1 = "yhzgx";}if(key1.equals("sfdmb") && type.equals(CbfJtcy.class)){key1 = "sfgyr";}if(key1.equals("cbf") && type.equals(CbfJtcy.class)){key1 = "cbfbm";}if(key1.equals("zjlx") && type.equals(CbfJtcy.class)){key1 = "cyzjlx";}if(key1.equals("zjlx") && type.equals(Fbf.class)){key1 = "fzrzjlx";}if(map.containsKey(key1.toUpperCase())){String tempKey = key.substring(0,1).toUpperCase()+key.substring(1,key.length());Method method;try { method = type.getMethod("set"+tempKey,new Class[]{fields[i].getType()});Object args[] = new Object[1];args[0] = map.get(key1.toUpperCase());if(fields[i].getType().equals(Double.class)) {method.invoke(object,Double.parseDouble(args[0]+""));} else if(fields[i].getType().equals(Timestamp.class)) {Format f = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");String d = null;try {d = f.format(f.parseObject(args[0]+""));} catch (ParseException e) {// TODO Auto-generated catch blocke.printStackTrace();}Timestamp ts = Timestamp.valueOf(d);method.invoke(object,ts);} else if(fields[i].getType().equals(Zjlx.class)) {method.invoke(object,new Zjlx(args[0]+""));} else if(fields[i].getType().equals(Cbflx.class)) {method.invoke(object,new Cbflx(args[0]+""));} else if(fields[i].getType().equals(Xb.class)) {method.invoke(object,new Xb(args[0]+""));} else if(fields[i].getType().equals(Jtgx2.class)) {method.invoke(object,new Jtgx2(args[0]+""));} else if(fields[i].getType().equals(Sfdmb.class)) {method.invoke(object,new Sfdmb(args[0]+""));} else if(fields[i].getType().equals(Cbf.class)) {method.invoke(object,new Cbf(args[0]+""));} else {method.invoke(object,args);}} catch (NoSuchMethodException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (SecurityException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (IllegalAccessException e) {// TODO Auto-generated catch blocke.printStackTrace();System.out.println(fields[i].getName());} catch (IllegalArgumentException e) {// TODO Auto-generated catch blocke.printStackTrace();System.out.println(fields[i].getName());} catch (InvocationTargetException e) {// TODO Auto-generated catch blocke.printStackTrace();System.out.println(fields[i].getName());}}}return object;}</span>
0 0
- Map对象通过反射转化为JavaBean对象转化
- Map 对象转化为一个 JavaBean
- map转化为对象
- JavaBean对象与Map对象互相转化
- JavaBean对象与Map对象互相转化
- JavaBean对象与Map对象互相转化
- JavaBean对象与Map对象互相转化
- 将一个 JavaBean 对象转化为一个 Map
- 将一个 JavaBean 对象转化为一个 Map
- Java 对象转化为Map
- java对象转化为Map
- 将map通过反射转化为实体
- 利用反射机制 实现 javabean 转化为 map
- 将json字符串转化为Map对象
- java实现对象转换为map、xml字符串转化为map、map转化为xml字符串
- Gson转化为对象
- 对象转化为json
- Json转化为对象
- LeetCode Count Primes
- Android四大组件:Activity、Service、Broadcast Receiver、Content Provider
- 微软100题(18)约瑟夫环
- 软件测试- 测试用例基础
- Linux学习笔记(05-25)条件变量的使用
- Map对象通过反射转化为JavaBean对象转化
- 普通用户使用VIM保存成Root
- Android OOM全解析
- TexturePacker 图片加密
- linux 学习笔记—链接命令
- 分布式设计与开发(二)------几种必须了解的分布式算法
- 【翻译】从Store生成Checkbox Group
- 命令总结_gdb
- Maven