本帖最后由 宋美成 于 2014-5-15 12:27 编辑
定义了一个函数是为了实现将字符串型的成员变量里的“b”改成“a”
具体代码如下:不知道怎么回事,就是实现不了功能,程序没有报错
- class getPoint
- {
- String str1="abbbb";
- String str2="abbbc";
-
- @Override
- public String toString()
- {
- return str1+"+"+str2;
- }
- }
- public class ReflectDemo
- {
- public static void main(String[] args)throws Exception
- {
- getPoint od= new getPoint();
- changeStringValue(od);
- System.out.println(od);
-
- }
- private static void changeStringValue(Object obj)throws Exception
- {
- Field[] fields =obj.getClass().getFields();
- for(Field field: fields)
- {
- if(field.getType()==String.class)//只对字符串类的成员变量有效
- {
- String oldValue =(String)field.get(obj);//获取obj里的成员变量
- String newValue =oldValue.replace('b', 'a');
- field.set(obj,newValue);
- }
- }
- }
- }
复制代码
|
|