首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

依据字段调用所有set方法

2012-12-21 
根据字段调用所有set方法?public void reflect7(){?    ?try {???      Class cls Class.forName(entit

根据字段调用所有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();
??   }
}

热点排行