Java在利用反射条件下替换英文字母中的值
Java在利用反射条件下替换英文字母中的值
(1)创建两个Class:
ReflectTest类如下:
packagecn.itcast.day01;
importjava.lang.reflect.Constructor;
importjava.lang.reflect.Field;
publicclassReflectTest{
publicstaticvoidmain(String[]args)throwsException{
changeStringValue(pt1);
System.out.println(pt1);
}
privatestaticvoidchangeStringValue(Objectobj)throwsException{
Field[]fields=obj.getClass().getFields();
for(Fieldfield:fields){
//if(field.getType().equals(String.class)){
if(field.getType()==String.class){//同一个字节码用等号而不是用equal
StringoldValue=(String)field.get(obj);
StringnewValue=oldValue.replace('b','a');
field.set(obj,newValue);
}
}
}
}
ReflectPoint类如下:
packagecn.itcast.day01;
publicclassReflectPoint{
publicStringstr1="ball";
publicStringstr2="basketball";
publicStringstr3="itcast";
publicReflectPoint(intx,inty){
super();
this.x=x;
this.y=y;
}
publicStringtoString(){
returnstr1+":"+str2+":"+str3;
}
publicstaticvoidmain(String[]args){
//TODOAuto-generatedmethodstub
}
}
结果为:aall:aasketaall:itcast
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对毛票票的支持。如果你想了解更多相关内容请查看下面相关链接