通过反射获取Field后,可以进一步修改相应的值。
示例:修改字符串中的y为y_new
1、Bean
public class FieldBean {
public String name = "yy";
public String address = "yybeijingyy";
@Override
public String toString() {
// TODO Auto-generated method stub
return name + ", " + address;
}
2、Client
(1)首先得到Bean对象
FieldBean fb = new FieldBean();
(2)通过反射获取Field
Field[] fields = fb.getClass().getFields();
(3)对Field进行遍历
for(Field field : fields){
//如果是String类型
if(field.getType() == String.class){
String old_value = (String) field.get(fb);
String new_value = old_value.replace("y", "y_new");
field.set(fb, new_value);
}
}
(4)结果如下:
y_newy_new, y_newy_newbeijingy_newy_new