1. 如何通过反射机制把变量a="apple"、b="pig" 中的"p"字母换成b?
public class A{
public String a="apple";
public String b="pigs";
@override
public String toString(){
System.out.println(a+","+b);
}
}
方法:
public class B{
public static void main(String[] args ){
A a=new A();
changeA(a);
System.out.pringln(a);
}
public static void changeA(Object obj){
Fields[] fields=obj.getClass().getFields();//获取A类中的成员变量
for(Field field : fields ){//遍历成员变量
if(field.getType()==String.class()){ //判断变量为String类型
String oldValue=(String)field.get(obj);
String newValue=oldValue.replace("p","b");
field.set(obj,newValue);
}
}
}
}