反射机制的简单应用

 //interge或Long的置0,BigDecimal类型的设置默认值为0.0000
            Field[] fields=QualityProblem.class.getDeclaredFields();
            for(Field field:fields){
           // Object type=field.getType().toString().substring(field.getType().toString().lastIndexOf(".")+1, field.getType().toString().length());
                //String name=field.getName();
                field.setAccessible(true);
                try{
                    if(field.get(po)==null||"".equals(field.get(po))){
                        if(field.getType()==Long.class||field.getType()==Integer.class){
                            field.set(po, 0l);
                        }else if(field.getType()==BigDecimal.class){
                            field.set(po, 0.0000);
                        }
                    }
                }catch(Exception e){
                    if(field.getType()==Long.class||field.getType()==Integer.class){
                        field.set(po, 0l);
                    }else if(field.getType()==BigDecimal.class){
                        field.set(po, 0.0000);
                    }
                }
                /*if(field.get(po)==null||"".equals(field.get(po))){
                    if(field.getType()==Long.class||field.getType()==Integer.class){
                        field.set(po, 0);
                    }else if(field.getType()==BigDecimal.class){
                        field.set(po, 0.0000);
                    }
                }
            }

posted @ 2014-01-26 13:56  esther&  阅读(194)  评论(0)    收藏  举报