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();
}
}
/**
* 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.【反射创建对象 操作字段 调用方法的异同】【个人总结】
- Java反射代码--06.执行所有特定的set方法
- 反射应用实例--根据map中的值创建对应并调用set方法给域赋值
- (JNI)c代码利用反射调用java方法
- Java反射代码 得到某类的所有字段 getFields()与getDeclaredFields()区别 getMethod()和getDeclaredMethod()区别
- java反射调用set和get方法的通用类
- oracle调用java方法的例子(下面所有代码都是在sql/plus
- Java反射:根据方法名动态调用方法,解决商品动态属性取值问题。
- Java反射:根据属性名得到其Set方法设置它的值
- oracle调用java方法的例子(下面所有代码都是在sql/plus中写)
- Java反射调用get方法和set方法
- Java 动态的创建注入代码,注入方法给类或者接口并通过反射调用
- java使用反射调用set和get方法
- Java 反射,通过反射调用所有的方法,包括private方法
- oracle调用java方法的例子(下面所有代码都是在sql/plus中写)
- oracle调用java方法的例子(下面所有代码都是在sql/plus中写)
- Java反射代码--02.得到某类的所有字段
- Java反射 根据不同方法名动态调用不同的方法
- java反射通过字段名获取set、get方法
- Java反射代码--03.得到某类的所有方法