java map转javaBean 反射参数异常处理
来源:互联网 发布:排列三九宫图算法 编辑:程序博客网 时间:2024/05/21 10:43
这两天在做请求参数封装时总是遇到 java.lang.IllegalArgumentException: argument type mismatch参数类型异常的问题,由于map里面定义的value是object类型在转为实体javaBean时,像Integer,Long等类型的属性就会出现此异常,解决方法如下:
public static Object toJavaBean(Object javabean, Mapm) {// System.out.println(m);// 所有声明了的方法Method[] methods = javabean.getClass().getDeclaredMethods();for (Method method : methods) {if (method.getName().startsWith("set")) {// 得到该方法的参数类型Class>[] params = method.getParameterTypes();String field = method.getName();field = field.substring(field.indexOf("set") + 3);field = field.toLowerCase().charAt(0) + field.substring(1);// System.out.println(field+"----"+m.get(field.toString()));Object value = m.get(field.toString());try {// convert types for some popular onesif (value != null && !"".equals(value)) {String pa = params[0].getName().toString();// if (value instanceof java.util.Date) {if (pa.equals("java.util.Date")) {value = new java.util.Date(((java.util.Date) value).getTime());}// }else if (pa.equals("java.lang.String")) {value = new java.lang.String(value.toString());} else if (pa.equals("java.lang.Integer") || pa.equals("int")) {value = new java.lang.Integer(value.toString());} else if (pa.equals("java.lang.Long")) {value = new java.lang.Long(value.toString());} else if (pa.equals("java.lang.Double")) {value = new java.lang.Double(value.toString());} else if (pa.equals("java.lang.Float")) {value = new java.lang.Float(value.toString());} else if (pa.equals("java.lang.Short")) {value = new java.lang.Short(value.toString());} else if (pa.equals("java.lang.Byte")) {value = new java.lang.Byte(value.toString());} else if (pa.equals("java.lang.Character")) {// value= new java.lang.Character(value);} else if (pa.equals("java.lang.Boolean")) {value = new java.lang.Boolean(value.toString());}method.invoke(javabean, new Object[] { value });}} catch (Exception e) {e.printStackTrace();}}}return javabean;}
0 0
- java map转javaBean 反射参数异常处理
- Java 用反射将JavaBean转成Map
- 转: Java反射异常处理之InvocationTargetException
- Java反射机制应用(JavaBean转换Map形式)
- Java反射之模拟JavaBean接收表单参数
- java 反射实现javabean转json
- 三、java-常用 javabean转map
- 反射异常 java.lang.InstantiationException处理
- Java反射异常处理之InvocationTargetException
- Java异常处理之InvocationTargetException(反射异常)
- 利用java反射机制实现List<Map<String, Object>>转化为List<JavaBean>
- 通过java的反射机制实现Map、JavaBean、JSON的相互转换工具类
- 基于java反射的javabean和map相互转换的工具类
- 基于java反射的javabean和map相互转换的工具类
- java反射--总结 及 JavaBean--
- JavaBean 转 Map
- JavaBean对象转map
- Java 请求参数错误异常处理
- 20个必会的JavaScript面试题
- Android工程方法数超过65535
- Activiti小知识总结
- css 水平和垂直居中 js 引用外部css
- Activiti根据Flowname进行转向
- java map转javaBean 反射参数异常处理
- redigo代码分析-pool
- UNITY3D音频管理器
- MySQL笔记 一
- Oracle事物中的savepoint
- java网络编程
- 接口测试及httpclient深入
- Spring MVC总结
- C++结构体与指针