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
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对毛票票的支持。如果你想了解更多相关内容请查看下面相关链接