利用反射机制获得对象的值----序列化小知识

            //objForHF 为某一个对象
            // 反射处理
            java.lang.reflect.Field[] sysfields = objForHF.getClass().getDeclaredFields();

            // 反射处理属性值---begin
            for (java.lang.reflect.Field sysfield : sysfields) {

                boolean access = sysfield.isAccessible();
                if (!access)
                    sysfield.setAccessible(true);
          

                  //获得某一个成员变量,private int i ;但是 i.getClass 获得是interger
                Object o = sysfield.get(objForHF);


                // 变量名
                String name = sysfield.getName();
                
                // 设置的类型 private int x,得到的是int
                Class clazz = o.getClass();
                
                //类型名
                String type = clazz.getName();


                
                
                    
                    if (i == 0) {
                        fieldList.add(new Field(name, dataType));
                    }

                }

                if (!access)
                    sysfield.setAccessible(false);

            }

 


                

 

posted @ 2018-08-06 17:56  BBJB  阅读(219)  评论(0编辑  收藏  举报