public class ReflectPoint { public String str1="ball"; public String str2="basketball"; public String str3="itcast";
public static void main(String[] args)
{
changeString value();
} }
private static void changeStringValue(Object obj) throws Exception { Field[]fields=obj.getClass().getFields();//obj.getClass()得到它所属的那份字节码 //obj.getClass().getFields();得到所有的字段 for(Field field:fields)//对得到的字段进行迭代 { if( field.getType()==String.class)//得到字段的类型 { String oldValue=(String)field.get(obj); String newValue=oldValue.replace('b','a');//replace(oldChar,newChar) field.set(obj,newvalue);//设置obj的值
}
疑问: for(Field field:fields)//对得到的字段进行迭代 for( field.getType().equals(String.class))
张老师说此处的字节码有一份,所以用“==”而不用equalss,不太明白,请说明一下。 |