Java 反射小用


            //一条记录的 n 个字段 , 都写入对象Document中
            Class question_class=question.getClass();
            for (int j = 0; j < newColumn.size(); j++) {
                net.sf.json.JSONObject obj = newColumn.getJSONObject(j);

                name=obj.getString("name");
                val=obj.getString("value");

                try{
                    PropertyDescriptor pd = new PropertyDescriptor(name_camel, question_class);

                    Method setMethod = pd.getWriteMethod();
                    if(pd.getPropertyType().equals(Integer.class)){
                        if ("".equals(val) || val == null) {
                            setMethod.invoke(question, Integer.valueOf(0));
                        }else{
                            setMethod.invoke(question, Integer.valueOf(val));
                        }      

                    }else if(pd.getPropertyType().equals(Date.class)){
                        //处理时间类型
                        if ("".equals(val) || val == null) {
                            setMethod.invoke(question, new Date());
                        }else{
                            setMethod.invoke(question, DateUtil.stringToDate(val));
                        }
                    }else if(pd.getPropertyType().equals(List.class)){
                        //处理List类型
                    }
                    else{
                        //处理String类型
                        setMethod.invoke(question, val);
                    }

                }catch(IntrospectionException e){
                    logger1.info("PropertyDescriptor error", e);

                }



            }

你可能感兴趣的:(Java 反射小用)