/**
* 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();
}
}
Java反射代码--07.根据字段调用所有set方法
最新推荐文章于 2024-08-05 04:45:00 发布
2009-08-30 22:55 来自
漫步蓝色星球