import java.lang.reflect.Constructor;
import java.lang.reflect.Field;
class FieldDemo{
String str1="basketBall";
String str2="ball";
String str3="pingpang";
@Override
public String toString() {
return "str1:"+str1+",str2:"+str2+",str3:"+str3;
}
}
/*
* 将Field的字符串中的b转换为a
*/
public class FieldClass {
public static void main(String[] args)throws Exception {
FieldDemo fd=new FieldDemo(3,5);
changeStringValue(fd);
System.out.println(fd);
}
/*
* 将Field的字符串中的b转换为a
*/
public static void changeStringValue(Object obj)throws Exception{
Field[] fs=FieldDemo.class.getFields();
for (Field f:fs){
//判断是否是String的Class对象
if (f.getType()==String.class){
String oldValue = (String) f.getName();
String newValue = oldValue.replace('b', 'a');
f.set(obj, newValue);
}
}
}
}
在这段代码中无论我怎么运行都不能把b替换a,替换不了,我查找了许多遍都没看到哪有不妥,希望哪位大神可以帮忙指定迷津
|