1. 程式人生 > >java獲取反射獲取私有屬性值

java獲取反射獲取私有屬性值

        //拼接類名
          String ob = "com.project.framework.entity.form.ReShipChangeregistration";
          //反向生成class物件
          Class cls=Class.forName(ob);
          //將物件例項化
          Object newInstance = cls.newInstance();
          System.out.println(cls.getName());
          //得到物件的所有私有屬性
          Field[] fields = cls.getDeclaredFields();
          System.out.println(fields.length);
          for(int i=0;i<fields.length;i++){
          //設定私有屬性允許訪問
          fields[i].setAccessible(true);
          //得到屬性值
           Object password = fields[i].get(newInstance);
           System.out.println(fields[i].getName()+".........."+password);
 

Class<?> cls=list.get(0).getClass();
         Method getStatus=cls.getDeclaredMethod("getStatus");
         Method setStatus=cls.getDeclaredMethod("setStatus", new Class[] { String.class });
         Method manager = cls.getDeclaredMethod("set"+custom1+"manager", new Class[] { String.class });
         Method managerid = cls.getDeclaredMethod("set"+custom1+"managerid", new Class[] { String.class });
         Method yijians = cls.getDeclaredMethod("set"+custom1+"yijian", new Class[] { String.class });
         Method shijian = cls.getDeclaredMethod("set"+custom1+"shijian", new Class[] { java.util.Date.class });
         manager.invoke(list.get(0), pname);
         managerid.invoke(list.get(0), Local.getUserid());