本帖最后由 贾旭 于 2012-3-21 23:56 编辑
- package cn.itcast.day1;
- import java.lang.reflect.*;
- public class Demo {
- public static void main(String[] args) throws Exception{
- ReflectPoint pt1=new ReflectPoint();
- show(pt1);
- System.out.println(pt1);
- }
- public static void show(Object ob) throws Exception{
- Field[] fields = ob.getClass().getFields();
- for(Field field:fields){
- if(field.getType()==String.class){
- String oldValue=(String)field.get(ob);
- String newValue=oldValue.replace('b', 'c');
- field.set(ob,newValue);
- }
- }
- }
- }
- 这是ReflectPoint类
- package cn.itcast.day1;
- public class ReflectPoint {
- String st1="bbb";
- String st2="bbaa";
- String st3="bbbdd";
- public String toString(){
- return st1+"::"+st2+"::"+st3;
- }
- }
复制代码 结果总是:bbb::bbaa::bbbdd
但是我目的是让它把b改成C啊。
谢谢各位帮忙了。
|