您的位置:首页 > 编程语言 > Java开发

Java反射代码--07.根据字段调用所有set方法

2013-01-24 14:22 609 查看
2009-08-30 22:55 来自 漫步蓝色星球

/**

* 7.根据字段调用所有set方法

*

*/

public void reflect7(){

     try {

      Class cls = Class.forName("entity.UserBean");//加载UserBean类到内存中!获取一个Class对象

      Object obj = cls.newInstance();//通过class类反射一个对象实体

       Field[] fields = cls.getDeclaredFields();

      UserBean bean = (UserBean)obj;

      for (Field field : fields) {

        String fieldName = field.getName();//取出字段名称

        //假如字段是name 方法必然是setName 规则:加set,首字母大写!

        Method method = cls.getDeclaredMethod("set" + fieldName.substring(0,1).toUpperCase()+
fieldName.substring(1));

       if(field.getType().toString().equals("int")){

         method.invoke(obj, new Object[]{Integer.parseInt("20")});

       }else{

         method.invoke(obj, new Object[]{"ABC"});

        }

       System.out.println(bean.getName() +" "+bean.getAge()+" "+bean.getAddress());

      }

    } catch (Exception e) {

    // TODO Auto-generated catch block

    e.printStackTrace();

   }

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: