zoukankan      html  css  js  c++  java
  • JavaBean 反射机制实现自动配置数据

    声明:该版本是没完成的。该博文只做记录代码用

        String memberType(String name) throws Exception
        {
            return getType(getClass().getField(name));
        }
    
        public static DiaryInfo parse(JSONObject data) {
            if (data == null) return null;
            DiaryInfo info = new DiaryInfo();
            String name;
            Method action;
            Object value;
            Iterator<String> keys = data.keys();
            try {
                while (keys.hasNext()) {
                    name = keys.next();
                    value = data.get(name);
                    action = info.getClass().getMethod("set" + ZHelper.ucfirst(name), String.class);
                    action.invoke(info.getClass(), value);
                }
            } catch (JSONException e) {
                AppException.json(e);
            } catch (NoSuchMethodException e) {
                AppException.run(e);
            } catch (InvocationTargetException e) {
                AppException.run(e);
            } catch (IllegalArgumentException e) {
                AppException.run(e);
            } catch (IllegalAccessException e) {
                AppException.run(e);
            }
            return info;
        }

    对JAVA 没什么经验,弄出了上面的代码,但是被 invoke 的参数类型郁闷,本来是想写个同名 Object 参数的 set 方法,然后自己转换数据类型,但觉得太麻烦了。后来我又想通过获取类中的 成员变量的类型来动态给 invoke 的参数值,但发现搞不定,很费时间,还是只有先 if else if 了,不浪费时间了,以后有经验了再来重写。

  • 相关阅读:
    在单向链表中删除指定的key
    双向链表反转
    单向链表反转
    认识异或运算
    二分查找
    插入排序
    冒泡排序
    选择排序
    go 语言环境安装
    欧几里得算法
  • 原文地址:https://www.cnblogs.com/zhouzme/p/5758503.html
Copyright © 2011-2022 走看看