首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

java 反照常见用法

2013-03-25 
java 反射常见用法用例主要实现动态执行实体类中set方法。try {String methodName setkeys[i].substrin

java 反射常见用法

用例主要实现动态执行实体类中set方法。

try {
    String methodName = "set"+keys[i].substring(0,1).toUpperCase()+keys[i].substring(1);
    Method[] methods = entry.getClass().getDeclaredMethods();
    Method method = null;
    for(int j=0;j<methods.length;j++){
     if(methodName.equals(methods[j].getName())){
      method=methods[j];
     }
    }
    if(method!=null){
     String value = jsonobj.get(keys[i]).toString();
     Class<?>[] parameterClass = method.getParameterTypes();
     String type = parameterClass[0].getName();
     if("java.lang.String".equals(type)){
      method.invoke(entry,value);
     }else if("java.util.Date".equals(type)){
      method.invoke(entry,new SimpleDateFormat("yyyy-MM-dd").parse(value));
     }else if("java.lang.Double".equals(type)){
      method.invoke(entry,Double.parseDouble(value));
     }else if("java.lang.Integer".equals(type)){
      method.invoke(entry,Integer.parseInt(value));
     }
    }
   } catch (SecurityException e) {
    e.printStackTrace();
   }  catch (IllegalArgumentException e) {
    e.printStackTrace();
   } catch (IllegalAccessException e) {
    e.printStackTrace();
   } catch (InvocationTargetException e) {
    e.printStackTrace();
   } catch (JSONException e) {
    e.printStackTrace();
   } catch (ParseException e) {
    e.printStackTrace();
   }

热点排行